/* Bonjour a tous ... voila j'voulais faire un programme sortant tout les anagrammes d'un mot en permutant les différentes lettres et en affichant a chaque fois le résultat. Seul probleme c'est que le programme tourne dans le vide ... est - ce que quelqu'un pourrait m'aider ??

*/
#include <stdio.h>
#include <stdlib.h>
// Fonction Calculant le Nombre de possibilités
void facto (char mot_entre[50],int *lettre_mot)
{
//Déclarations de variables
int facto=1,i;
// Boucle calculant la factorielle
for (i = 1;i<=lettre_mot;i++){
facto=facto*i;
facto=facto;
}
printf ("Il y'a %d possibilites" , facto );
}
/*Fonction effectuant les permutations en vue d'afficher les
différents anagrammes*/
void anagramme (char anag_mot [50],int nbreLettre,int nbre){
char tmp,tab_anag [50];
int j=0;
while (j<=nbreLettre){
strcpy(tab_anag,anag_mot);
printf ("\n%s",tab_anag);
j++;
}
if (nbreLettre - nbre != 0) {
for (j = nbre ; j <= nbreLettre ; j++){
if(tab_anag[nbre] >tab_anag[nbre+1]){
tmp = tab_anag[nbre];
tab_anag[nbre] = tab_anag [j];
tab_anag[j] = tmp;
}
printf ("\n-----%s-----\n",tab_anag[nbre]);
anagramme (anag_mot,nbreLettre,nbre+1);
}
//else
// printf ("-----[%s]-----\n",tab_anag);*/
}
}
int main()
{
char mot [50];
int long_mot,val=0;
// Lecture du mot
printf("Saisir un mot : ");
scanf("%s",&mot);
long_mot = strlen (mot);
//Appels des fonctions
facto (mot,long_mot);
anagramme(mot,long_mot,val);
}