Bonjour a tous,
J'essaie de coder un générateur de mot de passe par permutation, je bute actuellement sur cette fonction
En entrée j'ai : "abcd"
J'ai une table de conversion avec un Switch ( a->1, b->2, c->3, d->4)
le résultat attendu m'afficherai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 char swich(char permut) { if(permut == 'a') return '1'; if(permut == 'b') return '2'; if(permut == 'c') return '3'; if(permut == 'd') return '4'; if(permut == 'e') return '5'; }
abcd
abc4
ab3d
ab34
a2cd
a2c4
a23d
a234...
voici un bout de code sur lequel je suis...
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
17
18
19 char mot[4] = "abcd"; int cpt = 1; char *ptr = mot + 3; while(1) { printf("%s\n",mot); char *ptr2 = ptr; while (*ptr2 == swich(*ptr2)) { if (ptr2 == mot) goto fin; *ptr2 = mot[4]; *ptr2-- = mot[4-cpt]; cpt++; } (*ptr2)= swich(*ptr2); } fin:;
Auriez vous un algo (recursif ou non) permettant cette permutation?
Cordialement,
Partager