bonsoir
voila un petit problème :
Dans mon petit programme, on demande d'entrer un mot terminer par un point '.'
et on stocke les caractères dans un tableau dynamique "A" à une seule dimension, on récupère le nombre (n) de caractères dans ce mot, on crée ensuite un tableau dynamique "tab" à deux dimensions où on a :
(nbr de colonnes = n ; nbr de ligne = n!), chaque ligne du tableau "tab" contiendra une anagramme différente de votre mot.
jusqu'à la création du tableau "tab" il n'y a pas de problème, à vraie dire je me bloque dans le remplissage du tableau tab, voilà ce que j'ai fait :
les deux fonction principale ;
si vous avez une idée...............merci!!
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 int verify(char**tab , int k , int j , char c) //vérification du double { int i, t=1; for(i=0 ; i<=j-1 ; i++) { if(tab[k][i]==c) t=0; } if(t==1) return 1; //c'est que "t" n'a pas changé de valeur return 0; //le sinon } void anagram(char*A , char**tab , int n) //remplissage de tab { int i, j, k; for(j=0 ; j<=n-1 ; j++) //j est l'indice de colones de "tab" { for(i=0 ; i<=n-1 ; i++) // i est l'indince de "A" { for(k=i*fact(n-1-j) ; k<=(i+1)*(fact(n-1-j)) ; k++) //k est l'indice de lignes de "tab" { if(verify(tab,k,j,A[i])==1) tab[k][j]=A[i]; else //sinon on { i++; k--; } } } } }
Partager