Commit 2e977567d8f67d591b90f200a629eb550c20bd61
1 parent
d6bcca7a
2 commit
Showing
1 changed file
with
30 additions
and
2 deletions
Show diff stats
arbre.c
... | ... | @@ -49,8 +49,12 @@ void cons_dico(struct dico **pt_dico,char val){ |
49 | 49 | |
50 | 50 | void cons_arbre(struct arbre **pt_arbre,char val){ |
51 | 51 | struct arbre *monarbre=malloc(sizeof(struct arbre)); |
52 | - monarbre->suite[val-97]->val=val; // (ascii)->a = 97 | |
53 | - | |
52 | + monarbre->val=val; // (ascii)->a = 97 | |
53 | + for(int i=0;i<26;i++){ | |
54 | + monarbre->suite[i]=NULL; | |
55 | + } | |
56 | + monarbre->finmot=false; | |
57 | + (*pt_arbre)=monarbre; | |
54 | 58 | } |
55 | 59 | |
56 | 60 | |
... | ... | @@ -60,7 +64,31 @@ void ini_dico(struct dico * pt_dico){ |
60 | 64 | cons_dico(&pt_dico,97+i); |
61 | 65 | } |
62 | 66 | } |
67 | + | |
68 | + | |
69 | +void ajout_mot(struct dico *pt_dico,char mot[]){ | |
70 | + int i=0; | |
71 | + while(mot[i]!='\0'){ | |
72 | + if (pt_dico->alpha[val[i]-'a']==NULL){ | |
73 | + cons_arbre(&(pt_dico->alpha[mot[i]-'a']),mot[i]); | |
74 | + | |
75 | + } | |
76 | + i++; | |
77 | + } | |
78 | + pt_dico->alpha[fscval[i]-'a']->finmot=true; | |
63 | 79 | |
80 | +} | |
81 | + | |
82 | +void charger_arbre(FILE *fp, struct dico **pt_dico) | |
83 | +{ char mot[20]; | |
84 | + while (fscanf(fp, "%s", mot)!=EOF){ | |
85 | + ajout_mot(*pt_dico,mot); | |
86 | + | |
87 | + // ------------------------------------------------------------- | |
88 | + } | |
89 | + return ; | |
90 | + //Tip: use while(fscanf(..) ...) | |
91 | +} | |
64 | 92 | |
65 | 93 | |
66 | 94 | ... | ... |