Commit a8b3b5881e89dd7ae93a7b952fda31f1b524325b

Authored by tvieuble
1 parent 43039ae2

modification pour désaloc

Showing 3 changed files with 24 additions and 8 deletions   Show diff stats
1 -télé 1 +télé
2 pêche 2 pêche
3 vôtre 3 vôtre
4 pêche 4 pêche
5 abricot 5 abricot
  6 +arthur
6 l'arbre 7 l'arbre
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 }
projetfinalaccent.exe 0 → 100644
No preview for this file type