|
Jeu rigolo: que fait ce programme? [ Discussions générales, Duels, petits jeux rigolos... ] retour forum Pages : 1
| man, 25.01.2003 à 11:45 | 74316 |
| | | Pourtant, il est clair que l'eschatocole ne correspond pas du tout à la suscription, étant donné le décalage notable dans le décompte des indictions. On peut aussi noter l'anachronisme d'une sententia toute thomiste, étant donné le résultat de la disputatio, teinté d'anti-simonie et de considérations pré-réformistes. |
| bens, 25.01.2003 à 9:56 | 74299 |
| | | Kuk, c'est justement les "#o ..." qui font que ça compile plus (le prg date de 1985): "fatal error C1021: invalid preprocessor command 'o'"
Le second, par contre, compile encore et s'exécute. |
| | | | ever, c'est pourtant pas compliqué, attends, en fait... quoi j'ai rien compris non plus et je ferais mieux de fermer ma gu*** avant que ca se remarque??? |
| | | | ah moi le dernier est mon préféré !!!
(sinon Nyl, je te soutiens, je pige que dalle et je me sens con :o)) |
| | | | La boucle While a quand même une certaine classe ! :)
j'en ai pas vu souvent de commes ca ! :) |
| bens, 25.01.2003 à 1:41 | 74283 |
| | | J'ai cherché un peu, ça vient du IOCCC, ça existe depuis presque une vingtaine d'années et plus précisément:
"International Obfuscated C Code Contest. Concours annuel qui se tient sur l'Usenet depuis 1984. Le gagnant est celui qui produit le programme en C le plus illisible, créatif, et bizarre mais fonctionnel. Le gagnant est en général une oeuvre d'art amusante et un exemple affreux de ce qu'il ne faut pas faire en programmation."
Un petit lien vers une page avec les archives de 1984 à 1995...
En fait, de nombreux prg jouent également bcp sur les #define. Un autre exemple:
#define o define
#o ___o write
#o ooo (unsigned)
#o o_o_ 1
#o _o_ char
#o _oo goto
#o _oo_ read
#o o_o for
#o o_ main
#o o__ if
#o oo_ 0
#o _o(_,__,___)(void)___o(_,__,ooo(___))
#o __o (o_o_<<((o_o_<<(o_o_<
o_(){_o_ _=oo_,__,___,____[__o];_oo ______;_____:___=__o-o_o_; _______:
_o(o_o_,____,__=(_-o_o_<___?_-o_o_:___));o_o(;__;_o(o_o_,"b",o_o_),__--);
_o(o_o_," ",o_o_);o__(--___)_oo _______;_o(o_o_,"n",o_o_);______:o__(_=_oo_(
oo_,____,__o))_oo _____;}
Mais pas toujours il est vrai. Autre ex (après j'arrête, promis):
main(argc, argv)
int argc;
char **argv;
{
while (*argv != argv[1] && (*argv = argv[1]) && (argc = 0) || (*++argv
&& (**argv && ((++argc)[*argv] && (**argv <= argc[*argv] ||
(**argv += argc[*argv] -= **argv = argc[*argv] - **argv)) &&
--argv || putchar(**argv) && ++*argv--) || putchar(10))))
;
}
Enfin bref, merci kuk pour ce grand moment de culture :) |
| nyl, 25.01.2003 à 0:59 | 74274 |
| | |
Bon alors si vous voulez mon avis, mon mec est fou et tini aussi. ils imaginenet qu'un "token préprocesseur qui fait une concaténation" va leur éviter une "indentation", mais c'est pas grave y'a "pas besoin d'espaces pour une macro".
Ne vous inquiétez pas si vous ne comprenez rien, "c'est pas ambigu, on sait où se termine la parenthèse". Et pour comprendre "#define A(x,y)y##x", il sufit de faire "une recherche sur google avec "obfuscated c" et "Z(s,t,u)".
Pour me rassurer je relève que tini sait écrire "miaou" même si il lui faut trois lignes, et que hugues a dit sur le tchat "compter de 1 à 1, ca va". |
| | | | pour un hello world, faut être malade au dernier stade, c'est clair ;o))) |
| bens, 24.01.2003 à 23:33 | 74250 |
| | | hum hum... "mais" plutôt, vous aurez rectifié vous-mêmes.
(à part ce nain de Grunt pitêtre ;-)))))
Et puis Tini, pas la peine de répondre j'ai cherché sur google aussi, et forcément j'ai trouvé. |
| | | | HAAAAAA !!! Et mes espaces ???
Bon ben pas d'indentation, désolé.
Sinon pour les espaces dans les #define, je crois qu'ils ne sont pas nécessaire pour les définitions de macro (c'est pas ambigu, on sait où se termine la parenthèse). |
| | | | Le ## est un token préprocesseur qui fait une concaténation.
#define A(x,y)y##x
A(ou,mia)
ça va donner:
miaou
Par contre je comprends toujours pas quelle personne saine d'esprit peut pondre un programme pareil. Même avec le code en clair (après passage du préprocesseur) je comprends toujours pas :o)
char x[]="main() {
char *p=x;
int t=0;
int s=0;
for (; *p; p++) {
switch (s) {
case 0:
if (*p!=32) {
t+=8*8-00;
} else{
s++;
}
case 1:
if(*p!=32) {
t+= 8 ;;
} else {
s++;
}
case 2:
if(*p!=32) {
t++;
} else {
putchar(t-73);
t=s=0;
}
}
}
}";
main() {
char *p=x;
int t=0;
int s=0;
for (; *p; p++) {
switch (s) {
case 0:
if (*p!=32) {
t+=8*8-00;
} else{
s++;
}
case 1:
if(*p!=32) {
t+= 8 ;;
} else {
s++;
}
case 2:
if(*p!=32) {
t++;
} else {
putchar(t-73);
t=s=0;
}
}
}
} |
| bens, 24.01.2003 à 23:23 | 74247 |
| | | Dis-moi Tini... mets pourquoi as-tu tapé "obfuscated c" ds Google !!????? |
| bens, 24.01.2003 à 23:17 | 74246 |
| | | Déjà je comprends pas que ds la majorité des #define il n'y ait pas d'espace (et donc ça définit rien). A moins qu'ils y soient normalement, ce qui doit être le cas sans doute. |
| | | | oulaaaaaaaaaaa y'a des tordus quand même... %))) |
| | | | quoi !? Ce programme ne fait mm pas la vaisselle !!!! Quelle déception |
| | | | Il affiche "Hello, world!".
Bon ok, j'ai pas compilé mais j'ai triché quand même : j'ai fait une recherche sur google avec "obfuscated c" et "Z(s,t,u)" :o)) |
| | | | c'est quoi alors la bonne réponse ? |
| man, 24.01.2003 à 20:34 | 74160 |
| | | Ca sert à afficher "Keyan est un nain" à la place des bannières pub |
| manu, 24.01.2003 à 20:28 | 74155 |
| | | ... et sans électricité ! |
| manu, 24.01.2003 à 20:27 | 74153 |
| | | c'est une routine qui vote au weborama sans même se connecter à internet... sans pc, même. |
| bens, 24.01.2003 à 19:52 | 74133 |
| | | Ben ça écrit 0 en fait, c'est évident. |
| nyl, 24.01.2003 à 19:37 | 74132 |
| | | pour info, lui il sait ce que ça fait mais il le comprend meme pas :o))) |
| manu, 24.01.2003 à 19:23 | 74124 |
| | | c'est un programme qui fait Tiniiiiiiiiiiiii |
| | | | moi je préfère les entremets au chocolat que les entremets à la grenouille! ;o))) |
| | | | oué elle entremet tout le monde:o)) |
| bens, 24.01.2003 à 18:44 | 74115 |
| | | C'est pas pour rien qu'on la surnomme "l'amphibienne entremetteuse programmeuse"... |
| | | | waaaaaahhhhhhhhhhhhh grenouille t'assures ! |
| | | | c est un programme qui permet de faire des couples en fonction de compatibilités relevés par le programme entre deux bulledairiens? |
| | | | >> heureusement que la v2 va recentrer le débat sur la bd :o)
la v2 oui, mais les intervenants... ;o))) |
| | | | Moi aussi j'ai une enigme... Que fait ce programme Java :
System.out.println("Kuk est un schtroumpf");
Attention, on ne triche pas en essayant de le compiler ! |
| | | | heureusement que la v2 va recentrer le débat sur la bd :o) |
| Fabrys, 24.01.2003 à 16:15 | 74075 |
| | | C'est un programme qui fait réfléchir les gens sur des trucs incompréhensibles. Après on s'étonne qu'il y a des guerres... j'vous jure. |
| | | | pfffffff, je parle pas aux gens qui codent en C |
| bens, 24.01.2003 à 16:10 | 74062 |
| | | ça compile pas :) |
| J-C, 24.01.2003 à 16:00 | 74053 |
| | | ça ouvre les canettes de bière automatiquement dès que tu en as fini une ?
At'chao ! |
| manu, 24.01.2003 à 15:59 | 74052 |
| | | je suis mort de rire là |
| manu, 24.01.2003 à 15:59 | 74051 |
| | | super rigolo, le jeu :o) |
| | | | je donne ma langue au chat |
| | | | il te remplace au boulot ? |
| bens, 24.01.2003 à 15:35 | 74046 |
| | | Il compte les moutons ? |
Pages : 1 retour forum |
|