PDA

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


_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
Интересная задачка, надо будет тоже чт-нить такое замутить)