International Obfuscated C Code Contest
                   -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

                       Thus spake the master programmer:

       "A  well-written  program  is its  own  heaven; a poorly-written
                           program is its own hell."

                  -- Geoffrey James, "The Tao of Programming"


          Zde bych rád přiblížil, jak vypadá  mistrovské  zvládnutí jazyka
      C. Ten je zajímavý  zejména tím, že není úplně  čistě strukturovaný,
      má   operátory s  vedlejším   účinkem a mnoho   dalších   zajímavých
      vlastností,  které lze mistrovsky  využít. Takto krásně a jednodušše
      může být implementována funkce strcpy:

        while (*d++=*s++);

          Tato  implementace  je přímo od autorů  jazyka  C.  Jiný  krásný
      příklad je zoptimalizovaná vnitřní smyčka:

        register n = (count + 7) / 8;      /* count > 0 assumed */

        switch (count % 8)
        {
        case 0:        do {  *to = *from++;
        case 7:              *to = *from++;
        case 6:              *to = *from++;
        case 5:              *to = *from++;
        case 4:              *to = *from++;
        case 3:              *to = *from++;
        case 2:              *to = *from++;
        case 1:              *to = *from++;
                           } while (--n > 0);
        }
              - Duff's device (korektní kód v C)

          Věřte nebo ne, tento kód je naprosto  korektní a znám pod jménem
      "Duff's  device". Je to jeden z mála příkladů  dvojrozměrného  kódu.
      Zajímavé také je, že je možné smazat vnější pár složených závorek.

          Další  oblíbený  trik,  kterým  šokuji  "znalce   jazyka  C"  je
      konstrukce:

      putc("abcd"[i],stdout)

          Která je nejenom hezká, ale i velice často praktická.  Například
      jsem na ni založil  generátor  smajlíků pro hru  koules  (pokud  hra
      běží v síti, na obrazovce  serveru se  zobrazují  odhadované  výrazy
      jednotlivých hráčů podle různých parametrů ze hry):

      #define A(c) (*s=c,s++)
      void edisplay (int e, int l, int t)
      { A ("(<|]<["[l?(e>>4)%7:0]),A((l?(t?"8b8d8|":":;:|:8"):"||||||")[(e
        >>2)%6]),A(e>40&&l?'=':"-^"[l?(e>>3)%2:0]),A((l?(!t?")>D)]|(<[|":
        ">OQ><(C(P|"):"|""||||||||")[(e>>1)%10]),A(' ');
      }
      #undef A

          Díky   této   bizardnosti   jazyka  C   vznikla   dokonce   celá
      soutěž  jménem  International  Obfuscated  C  Code  Contest  (IOCCC)
      - http://reality.sgi.com/csp/ioccc,  která  každoročně hledá autoroa
      toho  nejzamotanějšího  a nejnápaditějšího  programu  v C.  Mezi  ty
      kratší příspěvky patří například následující program pro výpočet PI,
      který počítá svoji vlastní  velikost.  Pokud chcete  větší přesnost,
      napíšete větší program:

     /*
      * Program to compute an approximation of pi
      *  by Brian Westley, 1988
      */

     #define _ -F<00||--F-OO--;
     int F=00,OO=00;
     main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO()
     {
                 _-_-_-_
            _-_-_-_-_-_-_-_-_
         _-_-_-_-_-_-_-_-_-_-_-_
       _-_-_-_-_-_-_-_-_-_-_-_-_-_
      _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
      _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
     _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
     _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
     _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
     _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
      _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
      _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
       _-_-_-_-_-_-_-_-_-_-_-_-_-_
         _-_-_-_-_-_-_-_-_-_-_-_
             _-_-_-_-_-_-_-_
                 _-_-_-_
     }


          Toto je Hello Word jak by opravdu neměl vypadat:

     /*
      * HELLO WORLD program
      * by Jack Applin and Robert Heckendorn, 1985
      */
     main(v,c)char**c;{for(v[c++]="Hello, world!\n)";
     (!!c)[*c]&&(v--||--c&&execlp(*c,*c,c[!!c]+!!c,!c));
     **c=!c)write(!!*c,*c,!!**c);}

          A toto je program na zobrazování času ve výpise procesů:


#include <stdio.h>
                        /*MLSPXPMPVPOQN
                     POPJLVMMQNQNPSPYPXLRP
                   XMTJMLSPXPMPVPOQNPOPJLVMN
                 QSPWPOPXLRPXMTJMLNPOPPPSPXPOP
                JLYPRLTPVLUPVLWPVLXPVLVPSLJLUQP
              PJQLQSPXPNQPPRLTPVL*/main(){int K/*
             PUOUPWOV*/,L/*WPVLXPVLKPUOVPWOSLU*/,M
            /*PPPPVPOQMQRPR*/=0;FILE/*TPSLUMWQT*/ *
           J/*MPRPKPLQ*/;     J=      fopen(__FILE__
          /*T*/,"r");for      (;(       L/*KPUOWOWMUQ
         LLOLMPULWLWL         WLW         LWLWLWLWLWLW
         LWLWLULVOXP          LLV          LLLOLMPULOL
        MMNP*/=getc           (J)            )!= -1;L/*
       OLWLRMMQUL             VOX             PLLVLLLMQO
       PMPYPXPNP              MQL              LVLLLWPSP
      XPOQNQOPMQ              LLV              LTj*/>='J'
     &&L/*LRPYP               OQL               QMQLLVLLL
     OLMQVOXPL                LVL                LLVOe*/<=
     'J'+15&&(                (M=                !M/*MMMQMV
     OJMMMMMU                 OOL                 NPU MPMOM
    UMRNOLMQV                 OJM                 MMMMRMLLW
    QUMTJSPX                  PNQ                  JLLPUOWO
    WMUQJMVL                  JMV                  L*/)?K/*
    MQMV*/=L:               putchar                (K/*deMN
    MaVbcLKM                  KMV                  Le*/-'J'
   /*MWQUMTJ                  WPK                  PSPXPR*/
    |(L/*PQV                  LMPSLSPXPNQ*/-       'J'<<4))
    ));exit(                  0);}/*LPQUMMPR       PKPLQJLT
    LTLJLMPU                   MTJUQMPRPKPLQ       JLNPUONM
    JMWOVLTL                                       OPVLPPWM
    PMUMTJNQ                                       SPWPOPYO
    NQJLQPUM                                       TJPNSNVN
    ONJLTLRP                                       VLTLSPUM
    TJQQRPSP                                       VPOPJLRL
    WLWLPPJLP                                     LPLJLKLJQ
     SPJQOPRL                                     NPSLJLPL
     PLJLKLPPY                                   PLQUPRLSL
     SLUMTJRPW                                   MPPNPYPJQ
      OPXPRLPMW                                 LPPVMVMKM
      VLLLKPLLSL                               UMSPWMPPNP
       YPJQOPXPR                               LRLPMWLPP
       VMVMKMSLUL                             KMVLLLLQLL
        SLUMTJPPYP                           LQRLUMUMSL
         UQSPPPRLPPS                       LUQPPQPOPNQ
         MQRLNPVLNMJM                     VLSPSLUMNPUO
          MQNQLQVPOPXPR                 LNPSLWLKMWOWM
           QLVOJMQLUMTJSP             PPRLTLNPWMWMQL
            JMQLULPPSLUQMQJQLQSPXPNQPPRLTLMPVLLLOLM
             QVOXPLLVLNPULKMSLUMYPRLMQNQNPYPOQNQVL
              PMVLPMWLPPVLNPULKMVLJMSLWQTJSPPPRLT
                LNPXMQLJMQLULPPSLYPRLRPVLOMVLNP
                 VLJMVLJMSLWQOPVPMQOPUQNQSPWPO
                   PRLPLQPSLUMOPWMKPMQMPNQSP
                     WPOPRLVPYPMPKPVPNQSPW
                        POPRLPLQPSLSLUM

TJPPYPLQRLPQWMKMUMPQVMPMUMPQULULSLYPRLRPVLPQKLWMKMPLPLPQKLWMPMWLKMVLPQ
ULQLJMQLVLKPNQYPSPRLOPULLPUOPQWOSLVLPQSLMQVPOPOPJQRLKMSLUMWQWQWQTJTJ*/


            výheň