Bonjour,
J'ai besoin de votre aide, parce que je suis bloqué dans un petit programme en C++ qui normalement juste mais que ne me donne pas les bons résultat, ça fait quelque temps que j'essaye de trouver la solution mais rien.
Bon, le but que je veux atteindre est un programme qui génère des mots de n caractères avec ordre alphabétique ( ex: si n = 3 alors je devrai avoir comme résultat sur l'écran aaa aab aac aad...etc...)
Bon la solution bien sûr est de créer une procédure récursive avec comme paramètre d'entrée la position suivante du caractère dans le mot à générer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 ... static char used_char[26];//tableau de caractères utilisés ( de 'a' à 'z') rempli auparavant static char word[3]; ... void genr(int j) { static int p,d; d=j; for(p=0; p<=25; p++) { word[d]=used_char[p]; if(d=2){word[3]='\0';printf("%s\n",word);} else{ d++;genr(d);} } } ...
J'obtiens seulement aas aab....aaz, c'est tout alors que normalement il devrait aller jusqu'à zzz.
Donc j'aimerai savoir ou est le problème?
sinon, est-ce qu'il y a une autre solution pour arriver au bon résultat?
J'ai chercher partout mais j'ai rien trouvé, vous êtes mon dernier espoir.
Merci d'avance pour votre aide
Partager