Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Программа на С++, которая выводит свой текст (https://forum.antichat.xyz/showthread.php?t=32235)

_Great_ 28.01.2007 13:31

Программа на С++, которая выводит свой текст
 
Код:

using namespace std; string fcc(int t){ char s[2] = {(char)t, 0};return s;} string fccs(int n, ...){va_list va; va_start(va, n); string s; for(int i=0;i<n;i++)s += fcc(va_arg(va, int)); return s;} string selftest() { string _s = fcc(34)+fccs(66,';',' ','r','e','t','u','r','n',' ','s','+','s','1','+','s','+','_','s',';',' ','}',' ','i','n','t',' ','m','a','i','n','(',')',' ','{',' ','c','o','u','t',' ','<','<',' ','s','e','l','f','t','e','s','t','(',')',';',' ','r','e','t','u','r','n',' ','0',';',' ','}'); string s1=fccs(9,'s','t','r','i','n','g',' ','s','=')+fcc(34); string s="using namespace std; string fcc(int t){ char s[2] = {(char)t, 0};return s;} string fccs(int n, ...){va_list va; va_start(va, n); string s; for(int i=0;i<n;i++) s += fcc(va_arg(va, int)); return s;} string selftest() { string _s = fcc(34)+fccs(66,';',' ','r','e','t','u','r','n',' ','s','+','s','1','+','s','+','_','s',';',' ','}',' ','i','n','t',' ','m','a','i','n','(',')',' ','{',' ','c','o','u','t',' ','<','<',' ','s','e','l','f','t','e','s','t','(',')',';',' ','r','e','t','u','r','n',' ','0',';',' ','}'); string s1=fccs(9,'s','t','r','i','n','g',' ','s','=')+fcc(34); "; return s+s1+s+_s; } int main() { cout << selftest(); return 0; }
хээк. :)
30 минут переписывал с известного сорца на JS =)
при запуске выводит свой сорс буковка в буковку )
для проверки можно просто скопировать его поверх старого сорса и пересобрать несколько раз :)

Dude03 28.01.2007 16:59

Хек-хек. А инклюды?
#include <iostream>
#include <stdarg.h>
#include <string>

Вот по сабжу
http://ru.wikipedia.org/wiki/Quine

_Great_ 28.01.2007 18:59

Инклуды ты не сделаешь тем способом, что здесь используется )
А все-таки инклуды - не часть языка C++ :)

Prod 30.01.2007 23:50

Не понял прикола.

_Great_ 30.01.2007 23:54

Старая программисткая задача - написать программу, выводящую свой исходный код на экран.

MagNomeTik 07.02.2007 01:10

Слышал о такой... в каком то учебнике по сям читал... найду... обязательно напишу...

nerezus 07.02.2007 01:32

Цитата:

А все-таки инклуды - не часть языка C++
без них не будет работать. Это раз.
Это часть. Это два )

a1nt 14.02.2007 23:49

Интересная задачка, надо будет тоже чт-нить такое замутить)


Время: 06:50