• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Johnny Digital

self reproducing program

11 mensagens neste tópico

boas

descobri hoje este programa http://www.de.ioccc.org/2000/dhyang.c

olhem para a fonte e pasmem-se :thumbsup:

dps compilem e executem e reparem q o output é programa...  pode ser compilado e gera outro programa... assim por diante :P (4 vezes, acho)

mt interessante

cumps

joao

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
	
	    #define/**/X
	  char*d="X0[!4cM,!"
       "4cK`*!4cJc(!4cHg&!4c$j"
     "8f'!&~]9e)!'|+!)rAc-!*m*"
   ":D/!4c(b4e0!1r2e2!/t0e4!-y-c6!"
  "+|,c6!)f$b(h*c6!(d'b(i)d5!(b*a'`&c"
  ")c5!'b+`&b'c)c4!&b-_$c'd*c3!&a.h'd+"
 "d1!%a/g'e+e0!%b-g(d.d/!&c*h'd1d-!(d%g)"
"d4d+!*l,d7d)!,h-d;c'!.b0c>d%!A`Dc$![7)35E"
       "!'1cA,,!2kE`*!-s@d(!(k(f//g&!)f.e5'f(!+a+)"
       "f%2g*!?f5f,!=f-*e/!<d6e1!9e0'f3!6f)-g5!4d*b"
       "+e6!0f%k)d7!+~^'c7!)z/d-+!'n%a0(d5!%c1a+/d4"
       "!2)c9e2!9b;e1!8b>e/!     7cAd-!5fAe+!7fBe(!"
      "8hBd&!:iAd$![7S,Q0!1     bF 7!1b?'_6!1c,8b4"
      "!2b*a,*d3!2n4f2!${4    f.      '!%y4e5!&f%"
     "d-^-d7!4c+b)d9!4c-a    'd        :!/i('`&d"
     ";!+l'a+d<!)l*b(d=!'   m-        a  &d>!&d'"
    "`0_&c?!$dAc@!$cBc@!$   b         <    ^&d$`"
    ":!$d9_&l++^$!%f3a'    n1        _       $ !&"
   "f/c(o/_%!(f+c)q*c     %!         *       f &d+"
   "f$s&!-n,d)n(!0i-     c-         k)       !  3d"
   "/b0h*!H`7a,![7*     i]          5        4   71"
  "[=ohr&o*t*q*`*d      *v         *r         ;  02"
  "7*~=h./}tcrsth      &t          :          r   9b"
"].,b-725-.t--//      #r         [           <   t8-"
"752793?  <.~;b      ].t--+r     /           #    53"
"7-r[/9~X  .v90      <6/<.v;-52/={            k   goh"
"./}q;   u  vto     hr  `.i*$engt$            $    ,b"
";$/     =t ;v;     6     =`it.`;7=`          :    ,b-"
"725    = / o`.    .d       ;b]`--[/+       55/     }o"
"`.d   :   - ?5    /           }o`.'     v/i]q      - "
"-[;   5  2  =`  it            .        o;53-       . "
"v96   <7 /      =o            :            d        =o"
"--/i  ]q--      [;           h.            /        = "
"i]q--[  ;v      9h           ./            <        - "
"52={cj   u      c&`          i   t       . o        ; "
"?4=o:d=         o--          /  i        ]q         - "
"-[;54={  cj     uc&          i]q          -          -"
"[;76=i]q[;6     =vsr        u.i           /          ={"
"=),BihY_gha     ,)\0        "             ,          o [
  3217];int i,   r,w,f        ,              b        ,x ,
  p;n(){return   r  <X        X               X       X  X
  768?d[X(143+   X  r++       +               *d      )  %
   768]:r>2659   ?  59:       (                x      =  d
   [(r++-768)%   X  947      +             768]       ) ?
   x^(p?6:0):(p  =   34      X            X           X )
   ;}s(){for(x=  n   ();     (           x^           ( p
  ?6:0))==32;x=  n    ()     )   ;return x            ; }
  void/**/main X      ()     {           r           =  p
  =0;w=sprintf  (X     X     X         X X           X o
  ,"char*d=");  for          (    f=1;f <            * d
  +143;)if(33-(  b=d         [      f++ X           ]  )
  ){if(b<93){if   X(!        p          )             o
   [w++]=34;for    X(i       =         35             +
    (p?0:1);i<b;    i++      )         o
    [w++]=s();o[     w++               ]
     =p?s():34;}     else              X
       {for(i=92;     i<b;            i
++)o[w++]=     32;}           }
     else o     [w++          ]
		 =10;o        [
		   w]=0      ;
		    puts(o);}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ya ja tinha conhecimento ... mas não deixa de ser espantoso...

o site esta repleto deles...

vale a pena andar a ver... esse é um dos melhores

cumps...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Dá-me 2 erros..Já tentei mudar o sprintf pa printf mas continua a dar...Alguém aconteceu mais??

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sandro_G

q compilador estás a usar?

usei o gcc e não me deu problemas. tás com o vc++ ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podiam explicar o codigo?

O resultado realmente é espantoso mas prefiro saber como é que o programador fez isto!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Dá-me 2 erros..Já tentei mudar o sprintf pa printf mas continua a dar...Alguém aconteceu mais??

Essas funções (puts, sprintf) são definidas no stdio.h, por isso falta-te um

#include<stdio.h>

Não sei se o gcc junta este header por defeito na compilação caso não o encontre no código-fonte, mas verifica se este include está no código-fonte de qualquer maneira.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora