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
dico.txt
1   -télé
  1 +télé
2 2 pêche
3 3 vôtre
4 4 pêche
5 5 abricot
  6 +arthur
6 7 l'arbre
... ...
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 {
... ... @@ -209,6 +209,20 @@ void desalocation(struct node** pL) {
209 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 226 int main(int argc, char* argv[]) {
213 227  
214 228 int i =0;
... ... @@ -234,6 +248,7 @@ int main(int argc, char* argv[]) {
234 248 remplir_dico(dico, tab_arbre); //on suppose qu'il n'y a pas d'accents dans le dictionnaire
235 249 correction_txt(txt, tab_arbre);
236 250 correction_mot(tab_arbre);
  251 +<<<<<<< HEAD
237 252 for(wchar_t u = 'a'; u < A; u++) {
238 253 a=&tab_arbre[i];
239 254 desalocation(&a);
... ... @@ -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 268 return 0;
245 269 }
... ...
projetfinalaccent.exe 0 → 100644
No preview for this file type