From a8b3b5881e89dd7ae93a7b952fda31f1b524325b Mon Sep 17 00:00:00 2001 From: Tanguy Date: Sun, 28 Apr 2019 16:05:22 +0200 Subject: [PATCH] modification pour désaloc --- dico.txt | 3 ++- projetfinalaccent.c | 29 ++++++++++++++++++++++------- projetfinalaccent.exe | Bin 0 -> 138132 bytes 3 files changed, 24 insertions(+), 8 deletions(-) create mode 100644 projetfinalaccent.exe diff --git a/dico.txt b/dico.txt index bb96b81..b3fa1bf 100644 --- a/dico.txt +++ b/dico.txt @@ -1,6 +1,7 @@ -télé +télé pêche vôtre pêche abricot +arthur l'arbre diff --git a/projetfinalaccent.c b/projetfinalaccent.c index b41f20e..078a999 100644 --- a/projetfinalaccent.c +++ b/projetfinalaccent.c @@ -7,12 +7,12 @@ struct node { wchar_t lettre; - struct cell* listeFils; + struct cell* listeFils; //Accés cellule contenant une des lettres suivante à "lettre" }; struct cell { struct node* arbre; - struct cell* arbreSuivant; + struct cell* arbreSuivant; //Accés à la cellule contenant une autre lettre suivante à "lettre" }; void lien_listeFils(struct cell** pL) { @@ -86,9 +86,9 @@ void remplir_dico(FILE* fd, struct node tab_arbre_prcp[]) { indice = indice_lettre(tab_arbre_prcp, motLu[0]); localisationArbre = &tab_arbre_prcp[indice].listeFils; if(indice == 0) { - wprintf(L"Erreur remplissage dico : L'un des caracteres n'est pas une lettre\n"); - wprintf(L"Mot : %ls incorrect\n", motLu); - estUneLettre = 0; + wprintf(L"Erreur remplissage dico : L'un des caracteres n'est pas une lettre\n"); + wprintf(L"Mot : %ls incorrect\n", motLu); + estUneLettre = 0; } } else { @@ -201,7 +201,16 @@ void supp_tete(struct cell** pL) { free(p); } -void desalocation(struct +void desalocation(struct node* arbre) { + if(arbre == NULL) return; + struct cell* listeFils2 = arbre->listeFils; + while(listeFils2 != NULL) { + listeFils2 = arbre->listeFils; + } + while(listeFils2->arbreSuivant != NULL) { + supp_tete(&listeFils2->arbreSuivant); + } +} int main(int argc, char* argv[]) { @@ -226,6 +235,12 @@ int main(int argc, char* argv[]) { remplir_dico(dico, tab_arbre); //on suppose qu'il n'y a pas d'accents dans le dictionnaire correction_txt(txt, tab_arbre); correction_mot(tab_arbre); - + printf("tab_arbre[0].lettre : %c\n", tab_arbre[0].lettre); + printf("tab_arbre[0].listeFils : %p\n", tab_arbre[0].listeFils); + printf("tab_arbre[0].listeFils->arbre : %p\n", tab_arbre[0].listeFils->arbre); + printf("tab_arbre[0].listeFils->arbre->lettre : %c\n", tab_arbre[0].listeFils->arbre->lettre); + printf("tab_arbre[0].listeFils->arbre->listeFils->arbre->lettre : %c\n", tab_arbre[0].listeFils->arbre->listeFils->arbre->lettre); + printf("tab_arbre[0].listeFils->arbre->listeFils->arbre->listeFils->arbre->lettre : %c\n", tab_arbre[0].listeFils->arbre->listeFils->arbre->listeFils->arbre->lettre); + printf("tab_arbre[0].listeFils->arbreSuivant->arbre->lettre : %c\n", tab_arbre[0].listeFils->arbreSuivant->arbre->lettre); return 0; } diff --git a/projetfinalaccent.exe b/projetfinalaccent.exe new file mode 100644 index 0000000..60e83ff Binary files /dev/null and b/projetfinalaccent.exe differ -- libgit2 0.21.2