|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Stanislav Shwartsman 2:400/520 30 Sep 2001 07:23:30 To : alexo Subject : Печать исходного кода -------------------------------------------------------------------------------- 30 Sep 01 02:48, you wrote to me: a> Я непонимаю а чем это не устраевает a> /* Интроспективная программа: печатает сама себя */ a> #include <stdio.h> a> char *text[] = { a> "#include <stdio.h>", a> "char *text[] = {", a> " NULL};", a> "/* Program printing the own text */", a> "main(){ int i;", a> " puts(text[0]); puts(text[1]);", a> " for(i=0; text[i]; i++) putq(text[i]);", a> " for(i=2; text[i]; i++) puts(text[i]);", a> "}", a> "putq(s) char *s; {", a> " printf(\"\\t\\\"\");", a> " while(*s){", a> " if(*s == '\"') printf(\"\\\\\\\"\");", a> " else if(*s == '\\\\') printf(\"\\\\\\\\\");", a> " else putchar(*s);", a> " s++;", a> " }", a> " printf(\"\\\",\\n\");", a> "}", a> NULL}; a> /* Program printing the own text */ a> main(){ int i; a> puts(text[0]); puts(text[1]); a> for(i=0; text[i]; i++) putq(text[i]); a> for(i=2; text[i]; i++) puts(text[i]); a> } a> putq(s) char *s; { a> printf("\t\""); a> while(*s){ a> if(*s == '"') a> printf("\\\""); a> else if(*s == '\\') a> printf("\\\\"); a> else a> putchar(*s); a> s++; a> } a> printf("\",\n"); a> } Вполне устраивает. Удовлетворяет всем условиям задачи. E-mail: gate@fidonet.org.il Voice Phones: 972-4-8330554 (home), 972-5-4481073 (cell) Bye ! Stanislav (AKA Night's Man) [Team Technion] --- * Origin: Gate From Another World ... From Haifa, Israel (2:400/520) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/17853bb6c88b.html, оценка из 5, голосов 10
|