pyronet
Messages postés24Date d'inscriptionsamedi 14 février 2004StatutMembreDernière intervention 3 mai 2006 20 févr. 2006 à 20:21
Avec plaisir, Uxtobirza
en fait je planche sur un master mind avec intelligence artificielle en ce moment et j'ai regardé un peu les sources qui circulaient sur le web...
je posterai mon résultats quand ce sera fini ;-)
uxtobirza
Messages postés16Date d'inscriptiondimanche 2 février 2003StatutMembreDernière intervention 3 juin 2008 20 févr. 2006 à 18:16
merci, j'ai corrigé 2 choses :
1/
for (i=0 ; i<9 ; i++)
{
combinaison[i]=0;
}
combinaison[i]=0;
il fallait mettre un caractère fin de chaine pour que ce soit lisible
- (rand()%10+'0');
va donner une valeur entre 48 et 58, soit un caractère entre '0' et '9' ce qui permet de traiter un chiffre comme du . caractère.
- combinaison est en effet un tableau de caractère, soit une chaine.
merci d'avoir vu les deux erreurs
pyronet
Messages postés24Date d'inscriptionsamedi 14 février 2004StatutMembreDernière intervention 3 mai 2006 20 févr. 2006 à 01:01
Salut,
Il est cencé fonctionner ce code ? J'ai voulu voire ce que ça donnait (compil avec devcpp) mais il y a beaucoup de problèmes dans ton code.
Rapidement, parce que j'ai commencé à faire des modifs pour le faire fonctionner :
Avant tout j'ai initialisé les tableaux à 0 :
for (i=0 ; i<9 ; i++)
{
combinaison[i]=0;
}
for (i=0 ; i<9 ; i++)
{
combijeu[i]=0;
}
Ensuite, il y a un problème avec ta randomisation...
ici : combinaison[i]=(char)(rand()%10+'0');
ça génère des nombre à 2 chiffres... je m'y suis pas attardé j'ai fait des tests avec un tableau que je rentre manuellement.
En gros je me suis arrêté là parce que j'ai vu que la suite ne marchait pas non plus... mais un dernier truc que j'ai remarqué :
printf("la bonne combinaison :%d",combinaison); cela ne marche pas car combinaison est un tableau, cette ligne t'affichera pas le contenu du tableau mais je pense plutot son adresse. Voilà comment faire :
for(i=0; i<nbchiffre; i++)
{
printf("%d", combinaison[i]);
}
je pense que les autres problèmes dans le test des combinaisons viennent aussi du fait que tu gère mal le tableau (mais je m'y suis pas attardé)
J'espère servir à quelquechose avec ces conseils et ne pas te raconter de bêtises (je me remet au C ça fait perpète)...
20 févr. 2006 à 20:21
en fait je planche sur un master mind avec intelligence artificielle en ce moment et j'ai regardé un peu les sources qui circulaient sur le web...
je posterai mon résultats quand ce sera fini ;-)
20 févr. 2006 à 18:16
1/
for (i=0 ; i<9 ; i++)
{
combinaison[i]=0;
}
combinaison[i]=0;
il fallait mettre un caractère fin de chaine pour que ce soit lisible
2/ vers la fin du programme :
{ printf("la bonne combinaison :%s",combinaison); }
et non pas %d
des précisions :
- (rand()%10+'0');
va donner une valeur entre 48 et 58, soit un caractère entre '0' et '9' ce qui permet de traiter un chiffre comme du . caractère.
- combinaison est en effet un tableau de caractère, soit une chaine.
merci d'avoir vu les deux erreurs
20 févr. 2006 à 01:01
Il est cencé fonctionner ce code ? J'ai voulu voire ce que ça donnait (compil avec devcpp) mais il y a beaucoup de problèmes dans ton code.
Rapidement, parce que j'ai commencé à faire des modifs pour le faire fonctionner :
Avant tout j'ai initialisé les tableaux à 0 :
for (i=0 ; i<9 ; i++)
{
combinaison[i]=0;
}
for (i=0 ; i<9 ; i++)
{
combijeu[i]=0;
}
Ensuite, il y a un problème avec ta randomisation...
ici : combinaison[i]=(char)(rand()%10+'0');
ça génère des nombre à 2 chiffres... je m'y suis pas attardé j'ai fait des tests avec un tableau que je rentre manuellement.
En gros je me suis arrêté là parce que j'ai vu que la suite ne marchait pas non plus... mais un dernier truc que j'ai remarqué :
printf("la bonne combinaison :%d",combinaison); cela ne marche pas car combinaison est un tableau, cette ligne t'affichera pas le contenu du tableau mais je pense plutot son adresse. Voilà comment faire :
for(i=0; i<nbchiffre; i++)
{
printf("%d", combinaison[i]);
}
je pense que les autres problèmes dans le test des combinaisons viennent aussi du fait que tu gère mal le tableau (mais je m'y suis pas attardé)
J'espère servir à quelquechose avec ces conseils et ne pas te raconter de bêtises (je me remet au C ça fait perpète)...