|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : alexo 2:5020/400 30 Sep 2001 02:48:37 To : Stanislav Shwartsman Subject : Re: Печать исходного кода -------------------------------------------------------------------------------- "Stanislav Shwartsman" <Stanislav.Shwartsman@f520.n400.z2.fidonet.org> сообщил/сообщила в новостях следующее: news:1001052543@f520.n400.z2.ftn... | Hello Mike! | | 20 Sep 01 23:13, you wrote to me: | | O>> остаются самыми короткими? Хочу в книгу рекордов! | SS>> Ты попадешь в книгу рекордов, если представишь самый длинный. | SS>> Длинную прогу с сабжем написать сложнее. | | MR> disassembler.exe /src:disassembler.exe /dst:disassembler.asm | MR> ;) | | MR> Грубо говоря .COM, который после загрузки в память определяет свой | MR> размер, пробегает по занимаемой им памяти и каждый байтик выводит в | MR> виде | | MR> DB E5h | | MR> в ассемблерный файл. И делай его хоть какого размера. | | Вообще-то разговор идет о языках высокого уровня ... | | E-mail: gate@fidonet.org.il | Voice Phones: 972-4-8330554 (home), 972-5-4481073 (cell) | | Bye ! | Stanislav (AKA Night's Man) [Team Technion] /*###################################*/ Я непонимаю а чем это не устраевает /* Интроспективная программа: печатает сама себя */ #include <stdio.h> char *text[] = { "#include <stdio.h>", "char *text[] = {", " NULL};", "/* Program printing the own text */", "main(){ int i;", " puts(text[0]); puts(text[1]);", " for(i=0; text[i]; i++) putq(text[i]);", " for(i=2; text[i]; i++) puts(text[i]);", "}", "putq(s) char *s; {", " printf(\"\\t\\\"\");", " while(*s){", " if(*s == '\"') printf(\"\\\\\\\"\");", " else if(*s == '\\\\') printf(\"\\\\\\\\\");", " else putchar(*s);", " s++;", " }", " printf(\"\\\",\\n\");", "}", NULL}; /* Program printing the own text */ main(){ int i; puts(text[0]); puts(text[1]); for(i=0; text[i]; i++) putq(text[i]); for(i=2; text[i]; i++) puts(text[i]); } putq(s) char *s; { printf("\t\""); while(*s){ if(*s == '"') printf("\\\""); else if(*s == '\\') printf("\\\\"); else putchar(*s); s++; } printf("\",\n"); } --- ifmail v.2.15dev5 * Origin: Peterlink News System (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/2075394e8e9f5.html, оценка из 5, голосов 10
|