Commit bc42805a5730295e7f9351d1faa01ab9378b6e3c

Authored by pvernier
2 parents 6ef11f4b a8b3b588

ajout de la desalocation

Showing 3 changed files with 31 additions and 6 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 {
@@ -209,6 +209,20 @@ void desalocation(struct node** pL) { @@ -209,6 +209,20 @@ void desalocation(struct node** pL) {
209 free(*pL); 209 free(*pL);
210 } 210 }
211 211
  212 +<<<<<<< HEAD
  213 +=======
  214 +void desalocation(struct node* arbre) {
  215 + if(arbre == NULL) return;
  216 + struct cell* listeFils2 = arbre->listeFils;
  217 + while(listeFils2 != NULL) {
  218 + listeFils2 = arbre->listeFils;
  219 + }
  220 + while(listeFils2->arbreSuivant != NULL) {
  221 + supp_tete(&listeFils2->arbreSuivant);
  222 + }
  223 +}
  224 +
  225 +>>>>>>> a8b3b5881e89dd7ae93a7b952fda31f1b524325b
212 int main(int argc, char* argv[]) { 226 int main(int argc, char* argv[]) {
213 227
214 int i =0; 228 int i =0;
@@ -234,6 +248,7 @@ int main(int argc, char* argv[]) { @@ -234,6 +248,7 @@ int main(int argc, char* argv[]) {
234 remplir_dico(dico, tab_arbre); //on suppose qu'il n'y a pas d'accents dans le dictionnaire 248 remplir_dico(dico, tab_arbre); //on suppose qu'il n'y a pas d'accents dans le dictionnaire
235 correction_txt(txt, tab_arbre); 249 correction_txt(txt, tab_arbre);
236 correction_mot(tab_arbre); 250 correction_mot(tab_arbre);
  251 +<<<<<<< HEAD
237 for(wchar_t u = 'a'; u < A; u++) { 252 for(wchar_t u = 'a'; u < A; u++) {
238 a=&tab_arbre[i]; 253 a=&tab_arbre[i];
239 desalocation(&a); 254 desalocation(&a);
@@ -241,5 +256,14 @@ int main(int argc, char* argv[]) { @@ -241,5 +256,14 @@ int main(int argc, char* argv[]) {
241 } 256 }
242 257
243 258
  259 +=======
  260 + printf("tab_arbre[0].lettre : %c\n", tab_arbre[0].lettre);
  261 + printf("tab_arbre[0].listeFils : %p\n", tab_arbre[0].listeFils);
  262 + printf("tab_arbre[0].listeFils->arbre : %p\n", tab_arbre[0].listeFils->arbre);
  263 + printf("tab_arbre[0].listeFils->arbre->lettre : %c\n", tab_arbre[0].listeFils->arbre->lettre);
  264 + printf("tab_arbre[0].listeFils->arbre->listeFils->arbre->lettre : %c\n", tab_arbre[0].listeFils->arbre->listeFils->arbre->lettre);
  265 + printf("tab_arbre[0].listeFils->arbre->listeFils->arbre->listeFils->arbre->lettre : %c\n", tab_arbre[0].listeFils->arbre->listeFils->arbre->listeFils->arbre->lettre);
  266 + printf("tab_arbre[0].listeFils->arbreSuivant->arbre->lettre : %c\n", tab_arbre[0].listeFils->arbreSuivant->arbre->lettre);
  267 +>>>>>>> a8b3b5881e89dd7ae93a7b952fda31f1b524325b
244 return 0; 268 return 0;
245 } 269 }
projetfinalaccent.exe 0 → 100644
No preview for this file type