Code leet speak  pour génération de mot de passe
	
	
		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:
	
| 12
 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:
	
| 12
 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,