Commit a8b3b5881e89dd7ae93a7b952fda31f1b524325b
1 parent
43039ae2
modification pour désaloc
Showing
3 changed files
with
24 additions
and
8 deletions
Show diff stats
dico.txt
projetfinalaccent.c
@@ -7,12 +7,12 @@ | @@ -7,12 +7,12 @@ | ||
7 | 7 | ||
8 | struct node { | 8 | struct node { |
9 | wchar_t lettre; | 9 | wchar_t lettre; |
10 | - struct cell* listeFils; | 10 | + struct cell* listeFils; //Accés cellule contenant une des lettres suivante à "lettre" |
11 | }; | 11 | }; |
12 | 12 | ||
13 | struct cell { | 13 | struct cell { |
14 | struct node* arbre; | 14 | struct node* arbre; |
15 | - struct cell* arbreSuivant; | 15 | + struct cell* arbreSuivant; //Accés à la cellule contenant une autre lettre suivante à "lettre" |
16 | }; | 16 | }; |
17 | 17 | ||
18 | void lien_listeFils(struct cell** pL) { | 18 | void lien_listeFils(struct cell** pL) { |
@@ -86,9 +86,9 @@ void remplir_dico(FILE* fd, struct node tab_arbre_prcp[]) { | @@ -86,9 +86,9 @@ void remplir_dico(FILE* fd, struct node tab_arbre_prcp[]) { | ||
86 | indice = indice_lettre(tab_arbre_prcp, motLu[0]); | 86 | indice = indice_lettre(tab_arbre_prcp, motLu[0]); |
87 | localisationArbre = &tab_arbre_prcp[indice].listeFils; | 87 | localisationArbre = &tab_arbre_prcp[indice].listeFils; |
88 | if(indice == 0) { | 88 | if(indice == 0) { |
89 | - wprintf(L"Erreur remplissage dico : L'un des caracteres n'est pas une lettre\n"); | ||
90 | - wprintf(L"Mot : %ls incorrect\n", motLu); | ||
91 | - estUneLettre = 0; | 89 | + wprintf(L"Erreur remplissage dico : L'un des caracteres n'est pas une lettre\n"); |
90 | + wprintf(L"Mot : %ls incorrect\n", motLu); | ||
91 | + estUneLettre = 0; | ||
92 | } | 92 | } |
93 | } | 93 | } |
94 | else { | 94 | else { |
@@ -201,7 +201,16 @@ void supp_tete(struct cell** pL) { | @@ -201,7 +201,16 @@ void supp_tete(struct cell** pL) { | ||
201 | free(p); | 201 | free(p); |
202 | } | 202 | } |
203 | 203 | ||
204 | -void desalocation(struct | 204 | +void desalocation(struct node* arbre) { |
205 | + if(arbre == NULL) return; | ||
206 | + struct cell* listeFils2 = arbre->listeFils; | ||
207 | + while(listeFils2 != NULL) { | ||
208 | + listeFils2 = arbre->listeFils; | ||
209 | + } | ||
210 | + while(listeFils2->arbreSuivant != NULL) { | ||
211 | + supp_tete(&listeFils2->arbreSuivant); | ||
212 | + } | ||
213 | +} | ||
205 | 214 | ||
206 | int main(int argc, char* argv[]) { | 215 | int main(int argc, char* argv[]) { |
207 | 216 | ||
@@ -226,6 +235,12 @@ int main(int argc, char* argv[]) { | @@ -226,6 +235,12 @@ int main(int argc, char* argv[]) { | ||
226 | remplir_dico(dico, tab_arbre); //on suppose qu'il n'y a pas d'accents dans le dictionnaire | 235 | remplir_dico(dico, tab_arbre); //on suppose qu'il n'y a pas d'accents dans le dictionnaire |
227 | correction_txt(txt, tab_arbre); | 236 | correction_txt(txt, tab_arbre); |
228 | correction_mot(tab_arbre); | 237 | correction_mot(tab_arbre); |
229 | - | 238 | + printf("tab_arbre[0].lettre : %c\n", tab_arbre[0].lettre); |
239 | + printf("tab_arbre[0].listeFils : %p\n", tab_arbre[0].listeFils); | ||
240 | + printf("tab_arbre[0].listeFils->arbre : %p\n", tab_arbre[0].listeFils->arbre); | ||
241 | + printf("tab_arbre[0].listeFils->arbre->lettre : %c\n", tab_arbre[0].listeFils->arbre->lettre); | ||
242 | + printf("tab_arbre[0].listeFils->arbre->listeFils->arbre->lettre : %c\n", tab_arbre[0].listeFils->arbre->listeFils->arbre->lettre); | ||
243 | + printf("tab_arbre[0].listeFils->arbre->listeFils->arbre->listeFils->arbre->lettre : %c\n", tab_arbre[0].listeFils->arbre->listeFils->arbre->listeFils->arbre->lettre); | ||
244 | + printf("tab_arbre[0].listeFils->arbreSuivant->arbre->lettre : %c\n", tab_arbre[0].listeFils->arbreSuivant->arbre->lettre); | ||
230 | return 0; | 245 | return 0; |
231 | } | 246 | } |
No preview for this file type