Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Co dela tenhle program?

Dobre, neni to moc tezke, ale je to takove esteticke:

#include <stdio.h>
int r=0,x,y=0,    /*
nt                 /
c
lx  /\ / \ /|\ /|\
u,  \/ \\/ \-/ \ /
dn                        ]
e= ||| /|\  /\  /\        =                     p p
 0  \/ \ / |||  \/        f        f       f    r r
<,                        tw       t       s s  i i
sy  || /|\      /\     i  eh       e       e c  n n
t= /-  \ /     |||     n  li       l       e a  t t
d0     |||             t  ll       l  {<   k n  f f
i,  ||     /|\ /|\        (e s     (  fr   ( f  ( (
o    _ ||\ \ / \-/     tu s( t    usw o; i s (  " "
.   || - /           c [[ tg rv   [th rx=f t "  % \
h                   mh111 de{l)   +di (+'( d+%  c n+
>                   aa000 itte; > +il x+ n inc  " "+
 /                  ir000[ns[nytyrrne<=)'<xn,"  , );
 */                 n         =             0     ;
               main        (       )   {
                char       v   [
                100    ]                   ,  s;
          int t[100     ]                    ,
              u[100               ]     ;  u
                  [                   0
      ]=ftell(stdin        )       ;
         while(gets (v    )                 )
                 {t  [         r ]=
             strlen                 (
               v);y=
                 t[         r             ]
                 >y             ?        t [
                  r         ]    :   y;
              u[++r   ]     =      
        ftell(stdin )   ;                          }
              while          (                    n
                  <              y        )
            {for(x=0             ;         x
            <r;x++) {                           s
               =' '       ;              
              if(n<             t        [
                  x            ]     )    {
        fseek(stdin    ,u       [     x    ]
                 +n   ,  0 )                     ;
        scanf("%c",                          &
                                       s        )
                   ;                             }
       printf("%c",   s                       )
                                            ;      }
      printf("\n");                 n
                 ++   ;            }           }

Podotazka: jakou ma tento zdrojak zajimavou vlastnost?

Předmět Autor Datum
Hej. Ty se musíš dost nudit. Ten kód zakomentovaný téměř do 1/2 zdrojáku je na matení nepřítele ?
Flash_Gordon 08.06.2006 16:52
Flash_Gordon
:-) bohuzel se nenudim.. a neboj - to neni moje dilo. Je to z celkem proflaknutyho zdroje. Ten komen…
Ynd0r 08.06.2006 17:02
Ynd0r
Pro zajimavost - tenhle "1-radkovy" program nakresli mesic v aktualni fazi (podle casu nastavenem na…
Ynd0r 08.06.2006 17:26
Ynd0r
No, je to co sa tyka SW stranky dost odveci napisane (ocakava ze stdin je seekovatelny ::)), ale ok,…
MM.. 08.06.2006 18:03
MM..
Ona je to asi trochu blba hadanka, protoze neni moc zabavny to lustit. Ten program preklopi svuj vst…
Ynd0r 08.06.2006 18:50
Ynd0r
Tak tento kod sa da pomerne dost jednoducho citat... videl som uz aj lepsie zatemnene programy :-p
D0ktor 10.06.2006 08:39
D0ktor
Co tohle #define F getchar()) #define H(z)*n++=z; #include <setjmp.h> #define v main(0,0,0 #define…
Ynd0r 10.06.2006 13:28
Ynd0r
Ok, nikdo neuhodl: je to kompletni program na hrani sachu. Umoznuje bud hru 2 hracu proti sobe nebo… poslední
Ynd0r 12.06.2006 10:31
Ynd0r

Pro zajimavost - tenhle "1-radkovy" program nakresli mesic v aktualni fazi (podle casu nastavenem na pc):

#include <stdio.h>
#include <math.h>
double l;main(_,o,O){return putchar((_--+22&&_+44&&main(_,-43,_),_&&o)?(main(-43,++o,O),((l=(o+21)/sqrt(3-O*22-O*O),l*l<4&&(fabs(((time(0)-607728)%2551443)/405859.-4.7+acos(l/2))<1.57))[" #"])):10);}

No neni to roztomile napsane?

No, je to co sa tyka SW stranky dost odveci napisane (ocakava ze stdin je seekovatelny ::)), ale ok, pekny efekt dvojitej informacie, resp. zaujimavy sposob zakodovania informacie (cloveka to hned nenapadne ze tam je toho viac ako vidi na prvy pohlad ;-)).

Ona je to asi trochu blba hadanka, protoze neni moc zabavny to lustit.
Ten program preklopi svuj vstup (stdin) do vystupu (stdout) tak, ze z radku udela sloupce a naopak. A zajimavy na nem je to, ze kdyz se prozene sam sebou (tj. z radku zdrojaku se stanou sloupce a naopak), vznikne zase funkcni zdrojak, kterej dela totez.
Par programu pro inspiraci:
winners2005.tgz

Co tohle

#define F getchar())
#define H(z)*n++=z;
#include <setjmp.h>
#define v main(0,0,0
#define Z while(
#define _ if(
#define o(d) (u[l]=0,l[d]=6^e,q=1e4>v,0),l[d]=0,u[l]=e^6,q)
#define I(H,n) { _ r=l[x=H],!r|(r^e)<-1){ _ j=u[l],-7==r|6==r\
){ n; e=~e; return 1e5- f; } u[l]=0,t=j+1,i=j-1; _!i&89<x)i\
=j,t=6; _-1==t&30>x)t=j,i=-7; Z++i<t){ b=S; d=0; S&=63; \
a=((j^e)!=1?6!=(j^e)?O[32+x/10]-O[u/10+32]-q:(S|=6!=j?8\
:1,2==u-x)*9+9*(x-u==2):(d=1==j?x-u:u-x)/8+!(!((x-u)%\
10)|r)*99+(j==1?90<x:29>x)*(9*O[28+i]-288))+O[r+28\
]*9-288+O[x%10+33]-f-O[33+u%10]; x[l]=i; S|=(21=\
=u|21==x)*2+(u==28|28==x)*4+(91==u|x==91)*16+32\
*(u==98|x==98)+(20==d)*64*x; a-=k>f?main(a,f+1\
,M,k):0; _ i==c&u==h&!f&N&a>-1e4&x==y)longjm\
p(z,1); S=b; _!N|f&&(a>M||!f&a==M&&1&rand()\
)){ _!f){ _ k){ c=i; h=u; y=x; } } else _ \
L-a<N){ n; e=~e; u[l]=j; x[l]=r; return\
 a; } M=a; } } x[l]=r; u[l]=j; n; } }
typedef int G; char J [ 78 ], O [ ]
=   "HRQAMS#-smaqrh[UTZYTU[|TBA("
"$#(ABT|ba`gg`ab8>GK[_`fFDZXEYR"         "L\t####"
"##B#A#@#G#F#E#D#K\t\3Zlv#tjm"         "\3J#tjm\3Pwb"
"ofnbwf\3Joofdbo\3)&`&`.&`&`"         "#+&g*\t"; G y,
c,h,e,S,*s,l[149]; jmp_buf z         ; G main(G L,G f,
G N,G k){ G u=99,p,q,r,j,i,x         ,t, a, b,d,M=-1e9
; char *n; if( *l){ e=~e; Z       u >21){ q= l[--u]^e;
_!-- q){ _!l[p=e?u-10:u+10]){   I(p,)_ e?u>80   & !l[p
-=10]:u<39&!l[p+=10])I(p,)} _ l[p=e?u-11:9+u]   )I(p,)
else _ u-1==S>>6){ l[u-1]=0; I(p,l[u-1]=-2^e);  } _ l[
p=e?u-9:11+u])I(p,)else _ S>>6==1+u){ l[1+u]=0; I(p,l
[1+u]=e^-2); } } _!--q){ n=O+41; Z++n<50+O)I(u+80-*n,
)} _ 0<q&4>q){  n=q==2?53+O:O+49; Z++n<O+(q!=1)*4+54
){ p=u; do I(p-=*n-80,)Z!p[l]); } } _ 4==q){ n=49+O
 ; Z++n<O+58)I(u-*n+80,)_ e&!(S&24)|!e&!(S&3)&&k&&
 !l[u-2]&!l[u-1]&!l[u-3]&&o(u)&o(u-1)){ l[u-1]= 4
  ^e; l[u-4]=0; I(u-2,l[u-1]=0; l[u-4]=e^4); } _
  e&!(S&40)|!e&!(S&5)&&k&&!l[u+1]&!l[2+u]&&o(u)&
   o(1+u)){ l[u+1]=e^4; l[3+u]=0;   I(u+2,l[1+u
   ]=0; l[u+3]=4^e); } } } e=~e;   return M; }
    Z h<130){l[h]=-(21>h|98<h|2       >(h+1 )%
    10); O[h++]^=3; } n=O +14;       s=20+l; Z
     ++s<29+l){ 10[s]=1; 70[s]=~    ( * s = *
      n++ -+84); 60 [ s] =-2; } Z  n=J){ puts
       (58+O); u=19; Z++u<100){ H(32)_!( u%10
       ))H(32)H(O[7+l[u]])_(9+u)%10>7){ H(58
        -u/10)H(32)_ u&1)puts(n=J); } } puts
         (O+58); _-1e4 >v , 1)){ e=~e; puts
          (O+(v,0)> 1e4?e?90:82:96)); break
           ; } _ 1<L&e) { d=v,2+L); printf
            (O+114,h%10+64,58-h/10,y%10+64
             ,58 -y/10,d); } else{ putchar
              (62 ) ; h= (95 & F-44; c=l[h
                +=(56-F *10]; y=(95&F-44; y
                   +=(56-F*10; Z 10!=(u=(95
                    &F)){ c=5; Z--c>1&&u!=c
                      [O]); c=e^c-7; } } _!
                         setjmp(z)){ v+1,1);
                               puts(   106+
                                O); }   } Z
                                 10!=
                                  F; } 

Ok, nikdo neuhodl: je to kompletni program na hrani sachu.
Umoznuje bud hru 2 hracu proti sobe nebo hru cloveka proti pocitaci (s nastavitelnym stupnem obtiznosti).

Spusteni bez parametru: hra dvou hracu proti sobe.
Spusteni s parametry: hra proti pocitaci (cim vic parametru, tim vic tahu bude promyslet).
Tahy se zadavaji ve tvaru "e2e4".

Zpět do poradny Odpovědět na původní otázku Nahoru