[ orwikcons @ 16.02.2009. 18:49 ] @
Dakle program koji će kada se pokrene da ispiše svoj kod.
[ Predrag Supurovic @ 17.02.2009. 00:01 ] @
Paskal se kompajlira i nema sanse da izvrsni kod moze da u sebi pronadje Pascal sors.
[ obucina @ 17.02.2009. 02:14 ] @
Evo ga:
[ viking13 @ 17.02.2009. 02:36 ] @
Pascal quine je davno provaljen i mislim da ne moze da se napiše kraći od ovoga:

Code:

const a=';begin write(^#^/^.^3^4^`^!^}#39,a,#39,a)end.';begin write(^#^/^.^3^4^`^!^}#39,a,#39,a)end.


Doduše, ima jedna stvar kod njega. Izlaz nije potpuno identičan ulazu, jer će se izlaz prelomiti na 80-om karakteru.

Pascal quine koji potpuno odgovara zadatku je ovaj:

Code:

const a='const a=';b='begin write(a,#39,a,#39#59#98#61#39,b,#39#59#10,b) end.';
begin write(a,#39,a,#39#59#98#61#39,b,#39#59#10,b) end.


Kod njega je izlaz 100% identičan ulazu.

Naravno kompajlirati sa dcc32 -CC da bi izbegli potrebu za {$APPTYPE CONSOLE} u Delphiju.

I kakve sad veze ima kompaliranje sa ulaznim kodom i izlazom programa? :)
[ orwikcons @ 17.02.2009. 22:45 ] @
svaka cast...
moje resenje je bilo ovakvo


const s='const s=;begin write(copy(s,1,8),#39,s,#39,copy(s,9,99))end.';begin write(copy(s,1,8),#39,s,#39,copy(s,9,99))end.


ali je svakako ovo prvo krace, dakle bolje!!
[ Nikolavlasotince @ 21.02.2009. 22:27 ] @
Ne znam dal mislim na isto, ali mozda ovo moze nesto da znaci:

Snimite vas fajl kao srccode.pas (ili kako god zelite ali onda u Assign morate da promenite ime fajla...)

Code:

var
  f: Text;
  S: String;

begin
  Assign(f, 'srccode.pas');
  Reset(f);
  repeat
    readln(f, S);
    writeln(S);
  until EOF(f);
end.


Pozdrav
[ Burgos @ 22.02.2009. 00:37 ] @
Nije u tome poenta - quine je program koji će reprodukovati svoj izvorni kod kao izlaz bez ikakvih drugih datoteka.