Sve@r | artiis a écrit :
Code :
- #include <stdio.h>
- #include <curses.h>
- #include <stdlib.h>
- main()
- {
- int de1, de2, de3;
- int gagne;
- int essai;
- gagne=0;
- essai=0;
- random ();
- do
- {
- clear ();
- de1 = random (6) + 1;
- de2 = srandom (6) + 1;
- de3 = random (6) + 1;
- ...
|
|
Salut
Ce code est une catastrophe. Allez, en vrac
1) main() est une fonction donc elle a un type (int)
2) tu appelles random() sans paramètre puis tu appelles random() avec le paramètre "6" (une même fonction s'appelle toujours de la même façon). Puis, pour le dé suivant, tu appelles srandom() !!!???!!!
3) ta recherche du 421 est une horreur. Tu vas évaluer tous les cas possibles (4 puis 2 puis 1 ou 4 puis 1 puis 2). Heureusement il n'y en a que 1x2x3 soit 6 cas possibles mais si tu devais programmer un yam tu aurais 1x2x3x4x5 soit 120 cas à traiter !!!
Donc conseil n° 1: lis un tuto sur l'apprentissage du C
Conseil n° 2: examine le but des fonctions que tu utilises (à quoi sert srandom(), random(), comment on s'en sert)
Conseil n° 3: si tu pompes du code sur le net, évite de dire qu'il vient de toi surtout si tu n'as même pas le niveau pour le comprendre...
Tiens, juste pour l'exemple, voici un algo pour chercher "421" dans 3 dés (pour débutants)
Code :
int de[3]; int flag int i; for (flag=0, i=0; i < 3; i++) { switch (de[i]) { case 1: flag+=1; break; case 2: flag+=2; break; case 4: flag+=4; break; } } printf("%s\n", (flag == 7) ? "gagné" : "perdu" );
|
Et un autre algo un peu plus avancé mais qui offre plus de souplesse
Code :
typedef struct { unsigned short value; char flag; }t_combi; int de[3]; t_combi need[]={ {1, 0x01}, {2, 0x02}, {4, 0x04}, {0, 0x00}, }; t_combi *pt_need; int flag; int combi; int i; for (flag=0, combi=0, pt_need=need; pt_need->flag != 0; pt_need++, combi|=pt_need->flag) { for (i=0; i < 3; i++) if (de[i] == pt_need->value) flag|=pt_need->flag; } printf("%s\n", (flag == combi )? "gagné" : "perdu" );
|
Message édité par Sve@r le 30-06-2013 à 15:35:43 ---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
|