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 | 7 | |
8 | 8 | struct node { |
9 | 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 | 13 | struct cell { |
14 | 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 | 18 | void lien_listeFils(struct cell** pL) { |
... | ... | @@ -86,9 +86,9 @@ void remplir_dico(FILE* fd, struct node tab_arbre_prcp[]) { |
86 | 86 | indice = indice_lettre(tab_arbre_prcp, motLu[0]); |
87 | 87 | localisationArbre = &tab_arbre_prcp[indice].listeFils; |
88 | 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 | 94 | else { |
... | ... | @@ -201,7 +201,16 @@ void supp_tete(struct cell** pL) { |
201 | 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 | 215 | int main(int argc, char* argv[]) { |
207 | 216 | |
... | ... | @@ -226,6 +235,12 @@ int main(int argc, char* argv[]) { |
226 | 235 | remplir_dico(dico, tab_arbre); //on suppose qu'il n'y a pas d'accents dans le dictionnaire |
227 | 236 | correction_txt(txt, tab_arbre); |
228 | 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 | 245 | return 0; |
231 | 246 | } | ... | ... |
No preview for this file type