Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Concours]Le code le plus sale

Laissez sortir le programmeur sale qui est en vous

    28 novembre 2010 à 17:37:18

    Il a besoin encore de quelques optimisations :-°

    [Code candidat]


    [Obfusc]



    #define e goto
    #define O ;
    #define llo w
    
    char this[] = "%s";
    char static_cast<::> = "Hello World!";
    
    int main()
    ??<h:e llo;w:Orld: // Met en place le tableau de bit
    printf( &0??(this:>, & static_cast <:0:>)O // Cast le tableau vers char* puis affiche
    return 1;
    %>
    


    Nota : Il s'agit d'un code C, la coloration C++ n'est là que pour bénéficier de zolies couleurs.




    • Partager sur Facebook
    • Partager sur Twitter
      28 novembre 2010 à 17:39:21

      Mwai, on est dans le forum du C quoi ^^
      • Partager sur Facebook
      • Partager sur Twitter
        28 novembre 2010 à 17:40:18

        Citation : Adroneus

        Mwai, on est dans le forum du C quoi ^^



        C'est du C tout ce qu'il y a de plus pur. (Hé oui :D )
        • Partager sur Facebook
        • Partager sur Twitter
          28 novembre 2010 à 17:43:57

          Dans ce cas, mets la balise code avec le type "c" comme ca y aura pas d'ambiguite ;)

          N.B :
          6|error: expected '=', ',', ';', 'asm' or '__attribute__' before '<' token|
          9|warning: trigraph ??< converted to {|
          |In function 'main':|
          9|error: expected expression before '/' token|
          10|warning: trigraph ??( converted to [|
          12|error: expected declaration or statement at end of input|
          9|warning: label 'Orld' defined but not used|
          9|warning: label 'h' defined but not used|
          ||=== Build finished: 3 errors, 4 warnings ===|
          • Partager sur Facebook
          • Partager sur Twitter
            28 novembre 2010 à 17:54:51

            Il faut les trigraphs et les digraphs (dans gcc : "-trigraphs")
            • Partager sur Facebook
            • Partager sur Twitter
              28 novembre 2010 à 17:57:48

              MinGW aime pas ;) ca change rien
              • Partager sur Facebook
              • Partager sur Twitter
                28 novembre 2010 à 17:57:52

                [ Code candidat ]

                [ Obfusc ]



                main.c
                #include <errno.h>
                #include <stdio.h>
                #include <stdlib.h>
                                                        #include <string.h>
                                                        #include "args.h"
                
                
                static int _=1;
                
                
                    static int __=0;void ___(int ____){char ______[BUFSIZ];
                int _______;int _____=0;char*________; if(!__){ _______=_+1
                ;} else { _______=1;}if(_>1){ while(_______<=____) {_____+=
                sprintf (&______[_____], "%d", _______);if((_______ +_-1)<=
                ____) {_____ +=sprintf (&______[_____], "-%d,",_______+(_-1
                ));} else{_____+= sprintf(&______[_____], ",");} _______+=(
                _*2);}} else{ while(_______<=____){_____ += sprintf(&______
                
                
                    [_____],"%d,",_______);_______+=(_*2);}}________=strrchr
                (______,',');if(________!=NULL){*________= '\n';}printf("%s"
                ,______);}int main(int argc,char*argv[]){int ____=0;if(argc<
                2){return EXIT_FAILURE; } __________{ case'2':_=2;break;case
                '4':_=4;break;case'o':__ = 1;break; }_________ if (argc==2){
                ____ = strtol (argv[1],NULL,10);}else{____=strtol ( argv[2],
                NULL,10);}if(____<=0){return 
                
                
                
                EXIT_FAILURE;}else{___(____);}return
                EXIT_SUCCESS;}
                



                args.h
                #ifndef ARGS_H
                #define ARGS_H  1
                
                #define __________ { \
                	int ARGC = argc; \
                	char **ARGV = argv; \
                	while (++ARGV, --ARGC > 0) { \
                		if (**ARGV == '-') { \
                			while (**ARGV != '\0') { \
                				++*ARGV; \
                				switch (**ARGV)
                
                #define _________ \
                			} \
                		} \
                	} \
                }
                
                #endif
                


                Qui a dit que les programmeurs ne pouvaient pas être des écrvains ? :-°
                Ce programme permet d'obtenir les pages pairs ou impairs suivant que l'on souhaite imprimer un, deux ou quatre documents par faces.
                L'option -o permet d'obtenir les pages impairs, les options -2 et -4 permettent de compter deux ou quatre documents par faces.

                Exemple :

                $ ./program -o2 20
                1-2,5-6,9-10,13-14,17-18
                $ ./program -2 20
                3-4,7-8,11-12,15-16,19-20
                • Partager sur Facebook
                • Partager sur Twitter
                  28 novembre 2010 à 18:06:51

                  Citation : Adroneus

                  MinGW aime pas ;) ca change rien



                  Pourtant je l'ai compilé à la fois avec Code::Blocks (Avec ajouts perso de -trigraphs) et en cli (gcc de cygwin) :

                  E:\dev>cd obfusc
                  
                  E:\dev\obfusc>ls
                  bin  main.c  obfusc.cbp  obfusc.depend  obj
                  
                  E:\dev\obfusc>gcc -o a -trigraphs main.c
                  
                  E:\dev\obfusc>a
                  Hello World!
                  E:\dev\obfusc>


                  PS : j'aurais donc tendance à dire que cela vient de chez toi. Est que quelqu'un d'autre peut essayer ?





                  • Partager sur Facebook
                  • Partager sur Twitter
                    28 novembre 2010 à 18:24:25

                    En autorisant les trigraphes, ça fonctionne chez moi. avec quelques warnings...(MingW)
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Zeste de Savoir, le site qui en a dans le citron !
                      28 novembre 2010 à 19:55:28

                      Alors pour résumer tout ce que j'ai poster pour me le moment:
                      Mon plus ou moins sans texte:
                      include <stdio.h>
                      #include <stdlib.h>
                      #include <time.h>
                      
                      int main()
                      {srand(time(NULL));int _, __ = (rand() % 0x64),S=0x3C;
                      	gr: if(_-__) 
                      	scanf("%d", &_);
                      	printf("%c\n",S + ((_>=__)?(_==__)?1:2:0));
                      	if(_-__) goto gr;
                      	return 0;}
                      


                      Un convertisseur Décimale|Binaire:
                      #include <stdio.h>
                      #include <stdlib.h>
                      
                      #define op long
                      #define o_ int
                      o_ main()
                      {o_ __;scanf("%d",&__); op op _ = 0x10000000;
                      	for(;!(__&_);_/=2);for(;_;_/=2)
                      		printf("%d",(__&_)?1:0);}
                      


                      Un programme qui affiche tout les nombres premiers jusqu’à 100, (réglable évidement, j'ai laisser le 100 en décimal pour que l'on puisse le changer)
                      #include <stdio.h>
                      #include <stdlib.h>
                      
                      #define _1 0x02
                      #define o_ \
                      int  
                      o_ main()
                      {o_ _, __ = _1;gr:
                      	if(__>=100)
                      goto start;_=_1;gh:if(!(__%_)){__++;goto gr;}_++;
                      if(_<__)goto gh;printf("%d ",__);__++;goto gr;start:getchar();}
                      



                      Un simple algorithme d'Euclide:
                      #include <stdio.h>
                      
                      #define _1 "%d"
                      #define T ;
                      #define o_ \
                      int  
                      o_ main(){o_ _,___,__;scanf(_1,&_);scanf(_1,&___);
                      	if(___<_){__ = _;_=___;___=__;}
                      	_2:if((__ = ___ % _)!= 0){___ = _;_ = __;goto _2;}
                      	printf(_1,_);}
                      


                      Un pendu geek qui n'utilise qu'un tableau.(enfait son architecture est très bizare)
                      #include <stdio.h>
                      #define _O_ char
                      #define T ;
                      #define _0_ int
                      
                      _0_ main(void)
                      {_O_ _[]={0x36,51,0x3A,0x3B,0x38,32,69,0x3D,64,0x2C,50,0}T _[3] = _[9] = _[2];_[4] = _[7]T
                      _0_ _2,__;
                      _O_ ___; q_: for(__=0;_[__];__++)
                      if(_[__]<0x46&&_[__]!=32){__=0;break;}if(__)goto _q;//Commentaire pertinent !
                      scanf("%c",&___)T getchar();
                      for(__=0;_[__];__++)if(_[__]==(___-0x32))_[__]+=50;
                      for(__=0;_[__];__++)printf("%c",((_[__]>0x46)?_[__]:42));
                      goto q_;_q: printf("\n%s\n",_)T}
                      


                      Afficheur de formes géométriques Basé sur des boucles for(parce que je les trouve très esthétiques et simple) et les opérateur ternaires(car ça évite de faire 36 milles boucle for).
                      #include<stdio.h>
                      
                      int main(void)
                      {
                      int _ = 0;printf("Rectangle?(y ou n)");if(getchar()-'n')_ |=1;getchar();
                      printf("Triangle?");if(getchar()-'n')_ |=2;getchar();printf("Losange?");if(getchar()-'n')_ |=4;getchar();
                      printf("\n");if(_&2)
                      for(int __ = 6;__;__--,printf("\n"))for(int i = 0;i<7;i++)printf("%c",(!i??!??!!(i-6)??!??!(!(__-6)||__==1))?'??=':' ');// Triangle
                      if(_&1)??<for(int __ = 6;__;__--,printf("\n"))for(int i = 0;i<7;i++)printf("%c",(!i??!??!!(i-__)??!??!!(__-6))?'??=':' ');printf("#");??>// rectangle
                      printf("\n");
                      if(_&4)for(int i = 0;i<10;i++,printf("%c",(i-5)?'\n':0))for(int __ = 9;__;__--)//Cercle
                      if(i-5)printf("%c",__<=(5+((i/5)?9-i:i))&&__>=(5-((i/5)?9-i:i))?'??=':' ');return 0;??>
                      



                      [ Code candidat ]
                      Et enfin mon 7 ème code, un convertisseur asci-Art.

                      [Obfusc]
                      #include <stdio.h>
                      #include <stdlib.h>
                      #include <string.h>
                      #include <ctype.h>
                      int i,I,size;
                      char chaine[80];
                      #define o_ I+=4;break;case
                      
                      int main()
                      {
                      	char chaine??(80??);fgets(chaine,80,stdin);
                      	chaine??(strlen(chaine)-1??)='\0';
                      	for(i=0;i<strlen(chaine);chaine??(i??)=toupper((i++??(chaine??))));for(i=size=0;i<strlen(chaine);i++)size+=chaine??(i??)=='M'??!??!chaine??(i??)=='I'?chaine??(i??)=='M'?5:1:4;char _??(3??)??(size+1??);
                      	for(i=0;i<3;_??(i++??)??(size??)='\0')for(I=0;I<size;_??(i??)??(I++??)=' ');for(i=0,I=0;i<strlen(chaine);i++)switch(chaine??(i??))??<case 'A':_??(1??)??(I+1??) = _??(1??)??(I+2] = _??(2??)??(I+1??) = _??(2??)??(I+2??) = '_';
                      _??(2??)??(I+3??) = (_??(2??)??(I+0??)='(');o_ 'B':
                      	_??(1??)??(I??) = _??(2??)??(I??) = '|';_??(1??)??(I+2??)=_??(1??)??(I+1??)=_??(2??)??(I+2??)=_??(2??)??(I+1??)='_';_??(2??)??(I+3??) = ')';o_ 0x4F:_??(1??)??(I+1??)=_??(2??)??(I+2??)=_??(2??)??(I+1??)=_??(1??)??(I+2??)='_';
                      _??(2??)??(I??) = (_??(2??)??(I+3??)=')')-1;o_ 82:_??(1??)??(I+1??)=_??(1??)??(I+2??)='_';_??(2??)??(I??)='|';
                      _??(2??)??(I+3??)='\'';o_ 0x45:_??(1??)??(I+2??)=_??(2??)??(I+1??)=_??(2??)[I+3??)=_??(1??)??(I+1??)='_';_??(2??)??(I??)='(';_??(2??)??(I+2??)='/';o_ 'Z': _??(1??)??(I??)=_??(1??)??(I+1??)=_??(2??)??(I+2??)=_??(2??)??(I+3??)=95;_??(2??)??(I+1??)= '/';
                      o_ 70:_??(0??)??(I+2??)=_[0??)[1+I??)=_??(1??)[I??)=_??(1??)??(2+I??)='_';_??(2??)??(1+I??)=_??(1??)??(I+1]='|';o_ 76:_??(1??)??(I??)=_??(2??)??(I??)='|';_??(2??)??(1+I??)=_??(2??)??(2+I??)='_';_??(2??)??(I+3??)=',';o_ 'H':_??(2??)??(0+I??)=_??(1??)??(0+I??)=_??(2??)??(I+3??)='|';_??(1??)??(I+1??)=_??(1??)??(I+2??)='_';o_ 0x47:_??(0??)??(I+2??)=_??(0??)??(1+I]=_??(2??)??(I+2??)=_??(2??)??(1+I??)=_??(2??)??(2+I??)=_??(2??)??(3+I??)='_';
                      _??(1??)??(I+0??) = (_??(2??)??(I??)= (_??(2??)??(I+3??)='|')-32)-45;o_ 'I':_??(1??)??(I??)='o';_??(2??)??(I??)='|';I++;break;case 0x4A:_??(2??)??(I??)='(';_??(2??)??(I+1??)=_??(2??)??(2+I??)='_';_??(2??)??(3+I??)=_??(1??)??(3+I??)='|';
                      	o_ 87:_??(2??)??(I??)=_??(2??)??(I+2??)='\\';_??(2??)??(I+1??)=_??(2??)??(I+3??)='/';o_ 77:_??(1??)??(I+1??)=_??(1??)??(I+2??)=_??(1??)??(I+3??)=_??(1??)??(I??)='_';_??(2??)??(I??)='|';_??(2??)??(I+2??)=_??(2??)??(I+4??)=')';I+=5;
                      break;case 0x4E:_??(1??)??(I+1??)=_??(1??)[I+2]=_??(1??)??(I??)='_';_??(2??)??(I??)='|';_??(2??)??(I+3??)=')';o_ 'P':_??(1??)??(I??)=_??(2??)??(I??)=_??(1??)??(I+3??)='|';_??(0??)??(I+1??)=_??(0??)??(I+2??)=_??(1??)??(I+1??)=_??(1??)??(I+2??)='_';o_ 'C':_??(1??)??(I+2??)=_??(2??)??(I+1??)=_??(2??)??(I+2??)=_??(2??)??(I+3??)=_??(1??)??(I+1??)='_';_??(2??)??(I??)='(';o_ 'Q':_??(1??)??(I??)=_??(2??)??(I+3??)=_??(1]??(I+3??)='|';_??(0??)??(I+1??)=_??(0??)??(I+2??)=_??(1??)??(I+1??)=_??(1??)??(I+2??)='_';o_ 'K':_??(1??)??(I??)=_??(2??)??(I??)='|';_??(1??)??(1+I??)=_??(1??)??(2+I??)='_';
                      _??(2??)??(I+3??)=(_??(1??)??(I+3??)='/')+45;o_ 0x53:_??(2??)??(I+1??)=_??(2??)??(I??)=_??(1??)??(I+3??)=_??(1??)??(I+2??)='_';_??(2??)??(I+2??)=')';o_ 84:_??(2??)??(I+2??)=_??(0??)??(1+I??)=_??(1??)??(I??)=_??(1??)??(2+I??)='_';_??(2??)??(1+I??)=_??(1??)??(I+1??)='|';_??(2??)??(I+3??)=',';o_ 85:_??(2??)??(I??)=_??(2??)??(I+2??)='(';_??(2??)??(I+1??)=(_??(2??)??(I+3??)=' ')+63;o_ 0x56:_??(2??)??(I??)='(';
                      _??(2??)??(I+1??)=_??(2??)??(I+2??)=95;_??(2??)??(3+I??)='|';
                      o_ 'D':_??(1??)??(I+2??)=_??(2??)??(I+1??)=_??(2]??(I+2]=_??(1??)??(I+1??)='_';
                      _??(2??)??(I??)='(';_??(1??)??(3+I??)=_??(2??)??(3+I??)='|';o_ 88:_??(1??)??(I??)=_??(2??)??(I+3??)='\\';_??(2??)??(I??)=_??(1??)??(I+3??)='/';_??(1??)??(I+1??)=_??(1??)??(I+2??)='_';o_ 'Y':_??(1??)??(I??)=_??(2??)??(I+3??)=_??(1??)??(I+3??)='|';
                      _??(1??)??(I+1??)=_??(1??)??(I+2??)='_';I+=4;
                      break;default:
                      I+=4;
                      ??>
                      printf("%s\n%s\n%s\n",_??(0??),_??(1??),_??(2??));
                      return 0;
                      }
                      


                      Résultat:
                      ache@ache-desktop:~/Bureau$ ./artasci
                      abcdefghijklmnopqrstuvwxyz
                                           __  __                                __  __          _                          
                       __ |__  __  __| __ _|_ /   |__ o   ||__/|   ____ ___  __ |__||__| __   ___|_             \__/|__|__  
                      (__(|__)(___(__|(_/_ |  \__||  ||(__||  \|__,| ) )|  )(__)|      ||  '__)  |_,(_( (__|\/\//  \   | /__
                      ache@ache-desktop:~/Bureau$



                      Compilation sur Linux avec :
                      gcc main.c -std=89
                      Ou encore:
                      gcc main.c -std=99

                      Compilation avec MinGW:
                      gcc main.c -o main.exe -std=c89
                      Ou encore:
                      gcc main.c -o main.exe -std=c99
                      ou encore:
                      gcc main.c -o main.exe -std=c99 -Wall
                      Et oui ça compile même en Wall, attention quand même il y a plus de ligne de Warning que de ligne de code.


                      Ps: Je le modifierais plus tard. (Il entre obligatoirement dans la catégorie Obfusc car il dessine).



                      [ Code candidat ]
                      Un code un peu spéciale explication à la fin du poste.
                      [Code Sale]
                      #include <stdio.h>
                      #include <stdlib.h>
                      #include <time.h>
                      int main(void){srand(time(NULL));int i,c,j=0,retour=0,e=0;FILE*fichier1=NULL;FILE*fichier2=NULL;fichier1=fopen("main.c","r");fichier2=fopen("pmain.c","w");if(fichier1&&fichier2){for(c=getc(fichier1);c!=EOF;c=getc(fichier1)){if(!(j-2)){putc(c,fichier2);if(c=='t')putc(' ',fichier2);j=0;continue;}if(!(j-1))j=(c=='n')?2:0;if(c=='i'){j++;}if(!(retour-5)){putc(c,fichier2);if(c=='n')putc(' ',fichier2);retour=0;continue;}if(!(retour-4))retour=(c=='r')?5:0;if(!(retour-3))retour=(c=='u')?4:0;if(!(retour-2))retour=(c=='t')?3:0;if(!(retour-1))retour=(c=='e')?2:0;if(c=='r'&&!retour)retour++;if(!(e-3)){putc(c,fichier2);if(c=='e')putc(' ',fichier2);e=0;continue;}if(!(e-2))e=(c=='s')?3:0;if(!(e-1))e=(c=='l')?2:0;if(c=='e'&&!e)e++;if(c=='#'){putc(c,fichier2);while((c=getc(fichier1))!='\n')putc(c,fichier2);putc('\n',fichier2);}if(c=='\'')
                      		{putc(c,fichier2);while((c = getc(fichier1))!='\'')putc(c,fichier2);}if(c=='\"'){putc(c,fichier2);while((c=getc(fichier1))!='\"')putc(c,fichier2);}if(!isspace(c)){if((c-'[')||(c-']')){putc(c,fichier2);}else if((int )rand()%7){putc('?',fichier2);putc('?',fichier2);putc((!(c-'[')?'(':')'),fichier2);}}else if(!(int )rand()%5)putc(c,fichier2);}}fclose(fichier1);fclose(fichier2);return 0;}
                      


                      Voila ce code est très mal pensé mais il fait ce que l'on veut.

                      En fait ce code aurait put être encore moins lisible mais ce n'ai pas moi qui l'ai rendu illisible(moi j'ai codé un petit obfuscateur de code :p très lisible) c'est lui même en se traitant qui à sortie ce code. o_O .

                      Bon il a encore quelque bug je l'ai codé rapidement mais il peut déjà s'appliquer à d'autre code(et surtout à lui même,là preuve).
                      Il lit un fichier nommé main.c puis le transforme (il ne le modifie pas, il écrit le nouveau code dans un fichier "pmain.c")
                      • Partager sur Facebook
                      • Partager sur Twitter

                      🍊 - Étudiant - Codeur en C | Zeste de Savoir apprenez avec une communauté | Articles  - ♡ Copying is an act of love.

                        29 novembre 2010 à 19:10:05

                        Citation : dolfinsbizou

                        Participation sans indentation, illisible, useless, avec comments inutiles, SMS, et débile :

                        [Code candidat]


                        [Obfuscer]



                        main.c


                        #include "directives.h"
                        
                        entier programme_useless debut_kikoo rien_a_dire fin_kikoo youpii
                        entier nbm kikoo 0 et_puis nbe kikoo 0 fin_instruct   bougera_pas
                        entier maria kikoo 100 et_puis mario kikoo 1 fin_instruct //C tro
                        /*kikoo c truk!*/ INITHASARD() fin_instruct nbm kikoo debut_kikoo
                        HASARD()  sboub_useless  debut_kikoo  maria  unmore  mario   more
                        1 fin_kikoo fin_kikoo more mario fin_instruct /*C de plu  en  plu
                        kool ceu truk! */ fais_le youpii IMPRIMER("nonbr? ") fin_instruct
                        DEMANDER("%d", &nbe);  zeppo  debut_kikoo  nbm  sup nbe fin_kikoo
                        youpii  IMPRIMER("plusse!")  fin_instruct  EnOfLi()  fin_instruct
                        EnOfLi() fin_instruct finifini re zeppo debut_kikoo nbm  inf  nbe
                        fin_kikoo    youpii    IMPRIMER("moin!")  fin_instruct   EnOfLi()
                        fin_instruct   EnOfLi()   fin_instruct   finifini    re    youpii
                        IMPRIMER("braveau!") fin_instruct EnOfLi() fin_instruct  EnOfLi()
                        fin_instruct finifini  finifini   boucle_la    debut_kikoo    nbe
                        pas_chance nbm fin_kikoo   fin_instruct   FINIR(0)   fin_instruct
                        finifini //Oua cez tro kikoo ceu truke j'ai fait un super pavé:)!
                        


                        directives.h


                        #include<stdio.h>
                        #include<stdlib.h>
                        #include<time.h>
                        #define entier int
                        #define lentier long
                        #define caractere char
                        #define programme_useless main
                        #define debut_kikoo (
                        #define fin_kikoo )
                        #define rien_a_dire void
                        #define youpii {
                        #define finifini }
                        #define fin_instruct ;
                        #define debut_using [
                        #define fin_using ]
                        #define alors ||
                        #define aussi &&
                        #define rageux !
                        #define sup >
                        #define inf <
                        #define supe >=
                        #define infe <=
                        #define chance ==
                        #define pas_chance !=
                        #define boucle_la while
                        #define fais_le do
                        #define etoile *
                        #define et_puis ,
                        #define bougera_pas const
                        #define kikoo =
                        #define more +
                        #define unmore -
                        #define fricote *
                        #define unfricote /
                        #define sboub_useless %
                        #define zeppo if
                        #define re else
                        #define IMPRIMER(feuille) printf("%s", feuille)
                        #define DEMANDER scanf
                        #define EnOfLi() printf("\n")
                        #define INITHASARD() srand(time(NULL))
                        #define HASARD() rand()
                        #define FINIR(retour) return retour
                        


                        Résultat


                        nonbr? 2
                        plusse!
                        
                        nonbr? 5
                        plusse!
                        
                        nonbr? 80
                        plusse!
                        
                        nonbr? 90
                        moin!
                        
                        nonbr? 85
                        moin!
                        
                        nonbr? 83
                        braveau!
                        • Partager sur Facebook
                        • Partager sur Twitter
                          30 novembre 2010 à 9:54:24

                          Je reposte un petit code qui affiche quelque chose a l'écran mais il participe pas au concours:
                          #define . ;
                          #define , {
                          #define : }
                          #define <> !=
                          #define <= ==
                          #define => >
                          #define << <
                          #define >> int
                          #define - char
                          #define + char
                          #define .. if
                          #define ... else if
                          #define .... else
                          #define jesuisdevantunidiot =
                          #define unmain main
                          #define arguments int argc,char* argv[]
                          #include<stdio.h>
                          #include<stdlib.h>
                          >> unmain , arguments :
                          , >> rue. >> codep. - nrue[16] jesuisdevantunidiot "".
                          printf("entrezvotreadreses:").sacnf("%d",&rue).printf("entrezvotrerue:").scanf("%s",&nrue).printf("entrezcodepostal:").scanf("%d",&codep). ..(nrue <= 'calade')
                          , printf("youpiesurlamemerue!").:
                          .... printf("mincepassurlamemerue!").
                          ..(rue <= 26) printf("youpiidanslememebatiment!").
                          .... printf("pasdanslememebatiment.").
                          ..(codep <= 84200) printf("danslamemeville!").
                          .... printf("pasdanslamemeville").
                          //bonjour comment ca va ?
                          //bien et toi ?
                          //ca va je fais un code illisible
                          //cool...
                          

                          • Partager sur Facebook
                          • Partager sur Twitter
                          "Il est impossible pour un homme d'apprendre ce qu'il croit déjà connaître"
                            30 novembre 2010 à 10:30:02

                            Sauf que juste à regarder ton code, je peut te dire qu'il compile pas...
                            (pas d'accolade fermante à la fin, des accolades pour entourer les arguments du main...)
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Anonyme
                              30 novembre 2010 à 13:09:34

                              Et je crois qu'un signe ne peut-être un define, enfin personnellement ça a jamais compilé chez moi en essayant ceci?
                              • Partager sur Facebook
                              • Partager sur Twitter
                                30 novembre 2010 à 13:45:05

                                Exact aussi effectivement.
                                (j'avais zappé ce détail qui m'est pourtant arrivé ya pas longtemps)
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  30 novembre 2010 à 17:28:26

                                  Citation : Apéro

                                  Sauf que juste à regarder ton code, je peut te dire qu'il compile pas...
                                  (pas d'accolade fermante à la fin, des accolades pour entourer les arguments du main...)


                                  Euh oui j'ai oublié les accolades en copiant mais pour les signes chez moi ça marche o_O
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  "Il est impossible pour un homme d'apprendre ce qu'il croit déjà connaître"
                                    30 novembre 2010 à 17:32:58

                                    Chez moi ça ne marche pas. J'ai l'erreur :
                                    "macro names must be identifiers".
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    Anonyme
                                      30 novembre 2010 à 17:37:37

                                      Citation : Chiheb2010

                                      Citation : Apéro

                                      Sauf que juste à regarder ton code, je peut te dire qu'il compile pas...
                                      (pas d'accolade fermante à la fin, des accolades pour entourer les arguments du main...)


                                      Euh oui j'ai oublié les accolades en copiant mais pour les signes chez moi ça marche o_O


                                      Ton compilo est gay.
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        1 décembre 2010 à 15:42:42

                                        Geek0 -> Tu ose traiter mon compilo de gay ? :p
                                        Sinon c'est vrai que je le trouve un peu moins sale que les autres codes.
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                        "Il est impossible pour un homme d'apprendre ce qu'il croit déjà connaître"
                                          1 décembre 2010 à 15:59:33

                                          J'aime bien ce code tiré des IOCCC

                                          cat =13 /*/ >/dev/null 2>&1; echo "Hello, world!"; exit
                                          *
                                          *  This program works under cc, f77, and /bin/sh.
                                          *
                                          */; main() {
                                                write(
                                          cat-~-cat
                                               /*,'(
                                          */
                                               ,"Hello, world!"
                                               ,
                                          cat); putchar(~-~-~-cat); } /*
                                               ,)')
                                                end
                                          */
                                          


                                          Il marche aussi avec /bin/sh, comme noté en commentaire :)
                                          cat =13 /*/ >/dev/null 2>&1; echo "Hello, world!"; exit
                                          *
                                          *  This program works under cc, f77, and /bin/sh.
                                          *
                                          */; main() {
                                                write(
                                          cat-~-cat
                                               /*,'(
                                          */
                                               ,"Hello, world!"
                                               ,
                                          cat); putchar(~-~-~-cat); } /*
                                               ,)')
                                                end
                                          */
                                          


                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            2 décembre 2010 à 4:08:44

                                            Ahah je vote pour toi c'est sur !

                                            Faudrait pas le mettre dans le tutoriel du C les nouveau comprendraient rien :lol:

                                            Citation : dolfinsbizou

                                            Participation sans indentation, illisible, useless, avec comments inutiles, SMS, et débile :

                                            [Code candidat]


                                            [Obfuscer]



                                            main.c


                                            #include "directives.h"
                                            
                                            entier programme_useless debut_kikoo rien_a_dire fin_kikoo youpii
                                            entier nbm kikoo 0 et_puis nbe kikoo 0 fin_instruct   bougera_pas
                                            entier maria kikoo 100 et_puis mario kikoo 1 fin_instruct //C tro
                                            /*kikoo c truk!*/ INITHASARD() fin_instruct nbm kikoo debut_kikoo
                                            HASARD()  sboub_useless  debut_kikoo  maria  unmore  mario   more
                                            1 fin_kikoo fin_kikoo more mario fin_instruct /*C de plu  en  plu
                                            kool ceu truk! */ fais_le youpii IMPRIMER("nonbr? ") fin_instruct
                                            DEMANDER("%d", &nbe);  zeppo  debut_kikoo  nbm  sup nbe fin_kikoo
                                            youpii  IMPRIMER("plusse!")  fin_instruct  EnOfLi()  fin_instruct
                                            EnOfLi() fin_instruct finifini re zeppo debut_kikoo nbm  inf  nbe
                                            fin_kikoo    youpii    IMPRIMER("moin!")  fin_instruct   EnOfLi()
                                            fin_instruct   EnOfLi()   fin_instruct   finifini    re    youpii
                                            IMPRIMER("braveau!") fin_instruct EnOfLi() fin_instruct  EnOfLi()
                                            fin_instruct finifini  finifini   boucle_la    debut_kikoo    nbe
                                            pas_chance nbm fin_kikoo   fin_instruct   FINIR(0)   fin_instruct
                                            finifini //Oua cez tro kikoo ceu truke j'ai fait un super pavé:)!
                                            


                                            directives.h


                                            #include<stdio.h>
                                            #include<stdlib.h>
                                            #include<time.h>
                                            #define entier int
                                            #define lentier long
                                            #define caractere char
                                            #define programme_useless main
                                            #define debut_kikoo (
                                            #define fin_kikoo )
                                            #define rien_a_dire void
                                            #define youpii {
                                            #define finifini }
                                            #define fin_instruct ;
                                            #define debut_using [
                                            #define fin_using ]
                                            #define alors ||
                                            #define aussi &&
                                            #define rageux !
                                            #define sup >
                                            #define inf <
                                            #define supe >=
                                            #define infe <=
                                            #define chance ==
                                            #define pas_chance !=
                                            #define boucle_la while
                                            #define fais_le do
                                            #define etoile *
                                            #define et_puis ,
                                            #define bougera_pas const
                                            #define kikoo =
                                            #define more +
                                            #define unmore -
                                            #define fricote *
                                            #define unfricote /
                                            #define sboub_useless %
                                            #define zeppo if
                                            #define re else
                                            #define IMPRIMER(feuille) printf("%s", feuille)
                                            #define DEMANDER scanf
                                            #define EnOfLi() printf("\n")
                                            #define INITHASARD() srand(time(NULL))
                                            #define HASARD() rand()
                                            #define FINIR(retour) return retour
                                            


                                            Résultat


                                            nonbr? 2
                                            plusse!
                                            
                                            nonbr? 5
                                            plusse!
                                            
                                            nonbr? 80
                                            plusse!
                                            
                                            nonbr? 90
                                            moin!
                                            
                                            nonbr? 85
                                            moin!
                                            
                                            nonbr? 83
                                            braveau!

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              2 décembre 2010 à 8:49:22

                                              Bonjour,

                                              Est-ce qu'il doit obligatoirement marché ce code ? :):D
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                2 décembre 2010 à 8:55:15

                                                Oui il doit obligatoirement fonctionné.
                                                C'est écrit dans les règles sur le premier poste.
                                                • Partager sur Facebook
                                                • Partager sur Twitter

                                                🍊 - Étudiant - Codeur en C | Zeste de Savoir apprenez avec une communauté | Articles  - ♡ Copying is an act of love.

                                                  2 décembre 2010 à 11:02:31

                                                  Voila un petit code sale, l'indentation est logique, mais bordel, pas pratique à lire (ni à écrire d'ailleurs)

                                                  [Code candidat]



                                                  [Code sale]


                                                  #include <stdio.h>
                                                  #include <stdlib.h>
                                                  #include <time.h>
                                                  
                                                                  int main(void){
                                                              int b=1,a,c;
                                                              goto la;
                                                          ailleurs:
                                                      return b;
                                                          ici:
                                                      puts("Bravo\nContinuer?");
                                                      scanf("%d",&b);
                                                      if (b^1)
                                                  goto ailleurs;
                                                      if (b^0)
                                                  goto la;
                                                          labas:
                                                      putchar(3*3*7);
                                                      scanf("%d",&b);
                                                      if (0<a-b)
                                                  c=(7*3)+(11*2);
                                                      if (0<b-a)
                                                  c=3*3*5;
                                                      goto resultat;
                                                          retour:
                                                      if (b^a)
                                                  goto labas;
                                                      goto ici;
                                                          la:
                                                      srand(time(NULL));
                                                      a=b;
                                                      a+=rand()%(a*2*2*5*5);
                                                      goto labas;
                                                          resultat:
                                                      putchar(c);
                                                      putchar((c^c)+2*5);
                                                      goto retour;
                                                                  }
                                                  
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    2 décembre 2010 à 13:36:21

                                                    Voilà un petit programme qui n'est pas téllement lisible.

                                                    [Code candidat]



                                                    [Code illisible]



                                                    Fichier main.c:

                                                    #include <stdio.h>
                                                    #include <stdlib.h>
                                                    #include <string.h>
                                                    #include <ctype.h>
                                                    #include <time.h>
                                                    #define  MAXWORD 30
                                                    int menu(int choice, int tries); char readChar(); void gameover(); void winner(); int checkChar(char charTyped, char secretWord[], char foundWord[]);
                                                    int checkWin(char tabWin[], char tabSecret[]); void freeBuffer(); int addWord(FILE* dico, char* wordFile); int seekWord(FILE* wordlist, char* word);
                                                    int main(){char *secret = NULL, *trouver = NULL, testchar = 0, *wordAdded = NULL;int attempts = 10, i = 0, sizeWord = 0, choixPartie = 0, choixMenu = 0, hits = 0, nbrLettre = 0; int option = 0; FILE* dico = NULL;
                                                    FILE* dicoFile = NULL;do{ attempts = menu(choixMenu, attempts); if (attempts == 0) exit(0);
                                                    do{if (attempts == -1){system("CLS"); printf("\n\n\n\n\nDonnez le nombre de caract\x82re du mot : "); scanf("%d", &nbrLettre); freeBuffer();
                                                    wordAdded  = malloc(nbrLettre * sizeof(char)); if (wordAdded == NULL){
                                                    printf("\n\n\n\tERREUR: m\x82moire non allou\x82\x65 pour le mot myst\x82re.\n\n"); exit(0);}
                                                    wordAdded[nbrLettre] = '\0';do{printf("\n\nAjouter un mot (en MAJUSCULE): "); scanf("%s", wordAdded); freeBuffer();
                                                    if (strlen(wordAdded) != nbrLettre) printf("\n\t\tLe mot saisie est incorrect.\n\t\tVeillez resaisir le mot.");
                                                    else printf("\n\n\t\tLe mot entr\x82\x65 est : %s.\n\n\n", wordAdded);}while(strlen(wordAdded) != nbrLettre);
                                                    printf("\n\nAjout en cours...\n\n"); if (!addWord(dicoFile, wordAdded))printf("\n\n\t\tERREUR: Impossible d'ajout\x82 le mot.\n\n");
                                                    else printf("\n\n\t\tLe mot a \x82t\x82 ajout\x82 avec succ\x82.\n\n");
                                                    printf("\n\t\t1. Rajouter un autre\n\t\t0. Termin\x82\n");printf("\n\t\tVoulez-vous rajout\x82 un mot ? ");
                                                    scanf("%d", &option);freeBuffer();printf("\n\n\n");}}while(option == 1);dico = fopen("wordlist.txt", "r");
                                                    if (dico != NULL){rewind(dico); secret = malloc(MAXWORD * sizeof(char)); if (secret == NULL)
                                                    {printf("\n\n\n\tERREUR: m\x82moire non allou\x82\x65 pour le mot myst\x82re.\n\n");exit(0);}
                                                    if (seekWord(dico, secret)){sizeWord = strlen(secret); trouver = malloc((sizeWord + 1) * sizeof(char));
                                                    for(i = 0; i < sizeWord; i++)trouver[i] = '*'; trouver[sizeWord] = '\0';if (trouver == NULL)
                                                    {printf("\n\n\n\tERREUR: m\x82moire non allou\x82\x65 pour le mot a trouv\x82.\n\n");exit(0);}hits = 0;
                                                    while((attempts > 0) && (!checkWin(trouver, secret))){system("CLS");printf("\n\n\n\n\n\t\tIl vous reste %d coups a jouer\n", attempts);
                                                    printf("\t\tQuel est le mot secret ? ");for(i = 0; i < sizeWord ;i++){if (secret[i] == trouver[i])printf("%c",trouver[i]);
                                                    else printf("*");}printf("\n\t\tProposez une lettre : "); testchar = readChar();hits++;printf("\n\n");
                                                    if (!checkChar(testchar, secret, trouver))attempts--;}if (attempts != -1){if (checkWin(trouver, secret)){winner();
                                                    printf("\nLe mot est : %s.\nVous avez trouv\x82 le mot en %d coups\n\n", trouver, hits);}else{
                                                    gameover();printf("\nLe mot \x82t\x82 : %s.\n\n", secret);}}}else{printf("\n\n\n\tERREUR: Pas de mot trouv\x82 !!!\n\n");exit(0);}}else{
                                                    printf("\n\n\n\tERREUR: Il n'y a aucun dictionnaire.\n\n");exit(0);}free(secret);free(trouver);free(wordAdded);fclose(dico);
                                                    printf("\n\t\t1. Rejouer\t0. Quitter\n\t\t--------------\n\t\tRejouer une autre partie ? ");scanf("%d", &choixPartie);freeBuffer();printf("\n\n\n");}while(choixPartie == 1);return 0;}
                                                    int menu(int choice, int tries){do{system("CLS");printf("\t**********************************************\n");
                                                    printf("\t**         Bienvenue dans le Pendu !        **\n");printf("\t**         -------------------------        **\n");printf("\t**                                          **\n");
                                                    printf("\t** Vous allez maintenant essayer de trouver **\n");printf("\t** un mot en moins de coups possible.       **\n");printf("\t**                                          **\n");printf("\t**                                          **\n");
                                                    printf("\t** SVP, Veuillez ne pas supprimer le        **\n");printf("\t** fichier 'wordlist.txt' du dossier en     **\n");printf("\t** cours, merci.                            **\n");
                                                    printf("\t**                                          **\n");printf("\t** Allez bonne chance !!                  **\n");
                                                    printf("\t**********************************************\n\n\n");printf("\t\tMENU :\n\t\t------\n\n\t\t1. Facile\t(20 coups)\n\t\t2. Moyen\t(10 coups)\n\t\t3. Difficile\t(5 coups)\n");
                                                    printf("\t\t4. Ajouter un mot dans le dictionnaire.\n\n\t\t0. Quitter\n\n\t\tVotre choix ? ");scanf("%d",&choice);freeBuffer();printf("\n\n\n");
                                                    switch(choice){case 1: tries = 20;break;case 2: tries = 10;break;case 3: tries = 5;break;
                                                    case 4: tries = -1;break;case 0: tries = 0;break;default: printf("\n\n\n\tERREUR : Commande \x82ronn\x82\x65 \n\n");
                                                    break;}} while((choice < 0) || (choice > 4));return tries;}char readChar(){char character = 0;
                                                    character = getchar();character = toupper(character);while(getchar() != '\n') ;return character;}void gameover(){
                                                    printf("\n\nPPPPPPP  EEEEEEEE NNN   NN DDDDDD   UU    UU     !!   !!   !!  \n");printf("PP    PP EE       NNNN  NN DD   DD  UU    UU    !!!! !!!! !!!! \n");printf("PPPPPPP  EEEEEEE  NN NN NN DD    DD UU    UU    !!!! !!!! !!!! \n");
                                                    printf("PP       EE       NN  NNNN DD    DD UU    UU     !!   !!   !!  \n");printf("PP       EE       NN   NNN DD    DD UU    UU                   \n");printf("PP       EEEEEEEE NN    NN DDDDDDD   UUUUUU      !!   !!   !!  \n\n");}
                                                    void winner(){printf("\n\n  GGGGGG   AAAA     GGGGGG NNN   NN EEEEEEEE     !!   !!   !!\n");printf(" GG       AA  AA   GG      NNNN  NN EE          !!!! !!!! !!!! \n");
                                                    printf("GG  GGG  AA    AA GG  GGG  NN NN NN EEEEEEE     !!!! !!!! !!!! \n");printf("GG    GG AAAAAAAA GG    GG NN  NNNN EE           !!   !!   !!  \n");printf(" GG   GG AA    AA  GG   GG NN   NNN EE                         \n");
                                                    printf("  GGGGG  AA    AA   GGGGG  NN    NN EEEEEEEE     !!   !!   !!  \n\n");}int checkChar(char charTyped, char secretWord[], char foundWord[]){
                                                    int check = 0, i = 0; for(i = 0; secretWord[i] != '\0'; i++){if (charTyped == secretWord[i]){
                                                    foundWord[i] = charTyped;check = 1;}}return check;}int checkWin(char tabWin[], char tabSecret[]){int win = 0;
                                                    if (!strcmp(tabWin, tabSecret))win = 1; return win;}void freeBuffer(){int c = 0;while((c != '\n') && (c != EOF))c = getchar();}int addWord(FILE* dico, char* wordFile){
                                                    int done = 0;dico = fopen("wordlist.txt", "r+");if (dico != NULL){fseek(dico, 0, SEEK_END);fputs(wordFile, dico);fputc('\n', dico);
                                                    done = 1;}else{printf("\n\n\tERREUR: fichier introuvable.\n\n");exit(0);}fclose(dico);return done;}
                                                    int seekWord(FILE* wordlist, char* word){int found = 0, randNum = 0, i = 0, nbrWord = 0;char readCharacter = 0;
                                                    do{readCharacter = fgetc(wordlist);if (readCharacter == '\n')nbrWord++;}while(readCharacter != EOF);
                                                    srand(time(NULL));randNum = (rand() %nbrWord);rewind(wordlist);for(i = 0; i < randNum; i++)
                                                    fgets(word, 100, wordlist);word[strlen(word) - 1] = '\0';if (word != NULL)found = 1;return found;}
                                                    


                                                    voilà un autre fichier qui va avec, c'est un fichier txt (wordlist.txt) et je ne peut pas le rendre illisible celui-là :p :

                                                    VOITURE
                                                    MATRICE
                                                    PORTE
                                                    GUITARE
                                                    MUSIQUE
                                                    CHAPEAU
                                                    SERVIETTE
                                                    ACOUSTIQUE
                                                    PAROLE
                                                    ROULEAU
                                                    CAHIER
                                                    CHAMBRE
                                                    CULTURE
                                                    CARTIER
                                                    ARMOIRE
                                                    TIROIRE
                                                    NUMERO
                                                    MURAL
                                                    SOURIS
                                                    VALISE
                                                    DIPLOME
                                                    CISEAU
                                                    CERURE
                                                    ELEMENT
                                                    ROUGE
                                                    ARNAQUE
                                                    PUZZLE
                                                    PIECE
                                                    COURIR
                                                    MARRON
                                                    RACKETTE
                                                    MAISON
                                                    BLEU
                                                    AVION
                                                    XYLOPHONE
                                                    ABEILLE
                                                    IMMEUBLE
                                                    GOURDIN
                                                    NEIGE
                                                    ZERO
                                                    CAPRICE
                                                    SPORT
                                                    LIRE
                                                    TOTAL
                                                    LAIT
                                                    ESSENCE
                                                    TREIZE
                                                    INTERNET
                                                    VIOLENCE
                                                    TORRENT
                                                    MONDE
                                                    CHEVAL
                                                    FONCTION
                                                    ORDINATEUR
                                                    PROGRAMMATION
                                                    STUDIO
                                                    MEDECINE

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      3 décembre 2010 à 0:50:08

                                                      Citation : DunCaN213


                                                      voilà un autre fichier qui va avec, c'est un fichier txt (wordlist.txt) et je ne peut pas le rendre illisible celui-là :p :



                                                      Si avec un système de cryptage.


                                                      Un code qui ne participe pas et qui est carrément hors sujet.
                                                      #include <stdio.h>
                                                      #include <stdlib.h>
                                                      
                                                      int main(void)
                                                      {
                                                      	int tab = 0, c,i,ok=0;
                                                      	FILE* fichier = NULL;
                                                      	fichier = fopen("main.c","r");
                                                      	
                                                      	if(fichier)
                                                      	{
                                                      		for(c = fgetc(fichier);(c = fgetc(fichier)) != EOF;)
                                                      		{
                                                      			if(!(c=='\n' && ok))
                                                      			printf("%c",c);
                                                      			else ok = 0;
                                                      			if(c=='{'){tab++;c=';';}
                                                      			if(c=='}'){tab--;c=';';}
                                                      			if(c==';'){printf("\n");for(i=0;i<tab;i++)printf("\t");ok=1;};
                                                      		}
                                                      	
                                                      	}
                                                      	return 0;	
                                                      }
                                                      
                                                      Un simple code qui ajoute de l'indentation. Il bug avec les boucles for.



                                                      • Partager sur Facebook
                                                      • Partager sur Twitter

                                                      🍊 - Étudiant - Codeur en C | Zeste de Savoir apprenez avec une communauté | Articles  - ♡ Copying is an act of love.

                                                        3 décembre 2010 à 11:14:37

                                                        Non ce n'est pas du cryptage :D
                                                        C'est le jeu du pendu. :)
                                                        Et le fichier worldlist.txt, c'est le fichier qui contient les mots.
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          3 décembre 2010 à 11:22:13

                                                          Il te disais que tu pouvais crypter le fichier wordlist.txt, pas que ton programme cryptait...
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter

                                                          [Concours]Le code le plus sale

                                                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                          • Editeur
                                                          • Markdown