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)
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';
}
le résultat attendu m'afficherai :
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,