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?

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
No, je to co sa tyka SW stranky dost odveci napisane (ocakava ze stdin je seekovatelny ::)), ale ok,… nový
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… nový
Ynd0r 08.06.2006 18:50
Ynd0r
Tak tento kod sa da pomerne dost jednoducho citat... videl som uz aj lepsie zatemnene programy :-p nový
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… nový
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

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