Commit e2bf24c0c823f18b8b19a66401014841f574eb9c
1 parent
ee3fc0eb
push
Showing
3 changed files
with
24 additions
and
18 deletions
Show diff stats
projetfinalaccent2.c
... | ... | @@ -15,21 +15,6 @@ struct cell { |
15 | 15 | struct cell* arbreSuivant; |
16 | 16 | }; |
17 | 17 | |
18 | -void initialisation_tab_arbre(struct node tab[]) { | |
19 | - int i = 0; | |
20 | - for(wchar_t u = 'a'; u < A-3; u++) { | |
21 | - tab[i].lettre = u; //ajout lettres minuscules | |
22 | - tab[i].listeFils = NULL; | |
23 | - i++; | |
24 | - } | |
25 | - tab[A-3].lettre = '?'; | |
26 | - tab[A-2].lettre = '!'; | |
27 | - tab[A-1].lettre = '\''; | |
28 | - tab[A-3].listeFils = NULL; | |
29 | - tab[A-2].listeFils = NULL; | |
30 | - tab[A-1].listeFils = NULL; | |
31 | -} | |
32 | - | |
33 | 18 | void ajout_tete(wchar_t elem, struct cell** pL) { |
34 | 19 | struct cell* p; |
35 | 20 | p = malloc(sizeof(struct cell)); |
... | ... | @@ -53,6 +38,22 @@ struct cell ** insertion(wchar_t elem, struct cell** pL) { |
53 | 38 | } |
54 | 39 | } |
55 | 40 | |
41 | +void initialisation_tab_arbre(struct node tab[]) { | |
42 | + int i = 0; | |
43 | + for(wchar_t u = 'a'; u < A-3; u++) { | |
44 | + tab[i].lettre = u; //ajout lettres minuscules | |
45 | + tab[i].listeFils = NULL; | |
46 | + i++; | |
47 | + } | |
48 | + tab[A-3].lettre = '?'; | |
49 | + tab[A-2].lettre = '!'; | |
50 | + tab[A-1].lettre = '\''; | |
51 | + for(int j = 1; j <= 3; j++) { //Ajout des caractères de ponctuation par défaut | |
52 | + tab[A-j].listeFils = NULL; | |
53 | + insertion('\0', &(tab[A-j].listeFils)); | |
54 | + } | |
55 | +} | |
56 | + | |
56 | 57 | int indice_lettre(struct node tab_arbre_prcp[], wchar_t lettre) |
57 | 58 | { |
58 | 59 | int i = 1; |
... | ... | @@ -180,7 +181,7 @@ void correction_mot(struct node tab_arbre_prcp[]) { |
180 | 181 | indice = indice_lettre(tab_arbre_prcp, motLu[0]); |
181 | 182 | localisationArbre = &tab_arbre_prcp[indice].listeFils; |
182 | 183 | if(indice == 0) { |
183 | - wprintf(L"Erreur correction mot : L'un des caracteres n'est pas une lettre\n"); | |
184 | + wprintf(L"Erreur correction mot : L'un des caracteres n'est pas une lettre\n"); | |
184 | 185 | verif = 0; |
185 | 186 | } |
186 | 187 | } |
... | ... | @@ -203,7 +204,10 @@ void correction_mot(struct node tab_arbre_prcp[]) { |
203 | 204 | |
204 | 205 | void desalocationArbre(struct cell** pL) { |
205 | 206 | |
206 | - if ((*pL) == NULL) return; | |
207 | + if ((*pL) == NULL) { | |
208 | + printf("return arbre desaloc"); | |
209 | + return; | |
210 | + } | |
207 | 211 | |
208 | 212 | desalocationArbre(&(*pL)-> arbreSuivant); |
209 | 213 | desalocationArbre(&(*pL)-> arbre -> listeFils); |
... | ... | @@ -215,6 +219,7 @@ void desalocationTableauArbre(struct node tab_arbre[]){ |
215 | 219 | int i = 0; |
216 | 220 | for(wchar_t u = 'a'; u < A; u++) { |
217 | 221 | desalocationArbre(&tab_arbre[i].listeFils); |
222 | + if(u>=A-4) printf("pas segfault : i = %d", i+1); | |
218 | 223 | i++; |
219 | 224 | } |
220 | 225 | } |
... | ... | @@ -246,7 +251,7 @@ int main(int argc, char* argv[]) { |
246 | 251 | correction_mot(tab_arbre); |
247 | 252 | desalocationTableauArbre(tab_arbre); |
248 | 253 | |
249 | - wprintf(L"fini\n"); | |
254 | + printf("fini\n"); | |
250 | 255 | |
251 | 256 | |
252 | 257 | return 0; | ... | ... |
projetfinalaccent2.exe
No preview for this file type