Commit af1143d134c2811bbdff9bc0095dc6bdb9fcdce2

Authored by Emilie10
1 parent 4e00a1e4

projet

Showing 1 changed file with 53 additions and 79 deletions   Show diff stats
@@ -4,91 +4,63 @@ @@ -4,91 +4,63 @@
4 #define size 50 4 #define size 50
5 #define taille 26 5 #define taille 26
6 6
7 -struct Noeud { char valeur;struct liste * fils; int complet;}; 7 +struct noeud { char valeur; struct noeud * fils[28]; int complet;};
  8 +struct dico {struct noeud* tableau[26];};
  9 +typedef struct noeud* Noeud;
8 10
9 -struct liste { struct Noeud * noeud; struct liste * suivant;};  
10 11
11 -struct dico {struct Noeud tableau[26];int dernier;};  
12 -  
13 -//typedef struct liste* liste;  
14 -  
15 -typedef struct Noeud Noeud;  
16 -  
17 -  
18 -Noeud* cons_noeud (char a) 12 +void cons_noeud (Noeud * pN, char a)
19 { 13 {
20 - Noeud * N = malloc(sizeof(struct Noeud));  
21 - N->valeur=a;  
22 - N->fils=NULL;  
23 - N->complet=0;  
24 - return N; 14 + *pN = malloc(sizeof(struct noeud));
  15 + (*pN)->valeur=a;
  16 + (*pN)->complet=0;
  17 + for(int i=0; i<28; i++)
  18 + {
  19 + (*pN)->fils[i]=NULL;
  20 + }
25 } 21 }
26 -  
27 -/*void ajout_lettre (Noeud * N , char a) 22 +
  23 +void ajout_noeud_dico(struct dico * D, Noeud N)
28 { 24 {
29 - if(N==NULL)  
30 - N=cons_noeud(a);  
31 - else  
32 -  
33 - ((N->fils)->noeud)->valeur=a;  
34 - ((N->fils)->noeud)->fils=NULL;  
35 - (N->fils)->suivant=NULL; 25 + int i=0;
  26 + while(D->tableau[i]!=NULL)
  27 + {i++;}
  28 + D->tableau[i]=N;
  29 +}
36 30
37 -  
38 - }*/ 31 +void ajout_mot(Noeud * pN, char mot[size])
  32 +{
  33 + if(*pN==NULL)
  34 + {
  35 + cons_noeud(pN,mot[0]);
  36 + sup_lettre(mot);
  37 + }
  38 + else
  39 +
  40 +}
39 41
40 -//Reprendre cette fonction!  
41 -void ajout_mot (struct dico * D, char mot[size]) 42 +char * sup_lettre(char mot[size])
42 { 43 {
43 - Noeud *N;  
44 - int j = 0 ;  
45 - while (j<D->dernier && D->tableau[j].valeur != mot[0])  
46 - j++ ;  
47 - if(j < D->dernier)  
48 - {  
49 - N=&(D->tableau[j]);  
50 - }  
51 - else  
52 - {  
53 - N=cons_noeud(mot[0]); 44 + for(int i=1; i<size; i++)
  45 + {
  46 + mot[i]= mot[i+1];
54 } 47 }
55 -  
56 - for (int i=1; i<size; i++)  
57 -  
58 - {  
59 - if((N->fils->noeud)!=NULL)  
60 - {  
61 - N=N->fils->suivant->noeud;  
62 - N=cons_noeud(mot[i]);  
63 - //ajout_lettre(N,mot[i]);  
64 - }  
65 - else  
66 - {  
67 - N=N->fils->noeud;  
68 - N=cons_noeud(mot[i]);  
69 - //ajout_lettre (N,mot[i]);  
70 - // N=N->fils->noeud;  
71 -  
72 - }  
73 -  
74 - }  
75 - N->complet=1;  
76 - 48 + printf("%s\n",mot);
77 } 49 }
78 50
  51 +//Reprendre cette fonction!
79 52
80 -void cons_dico(FILE* fp, struct dico* D)  
81 -{ char a;  
82 - D->dernier=-1; 53 +/*void cons_dico_file(FILE* fp, struct dico* D)
  54 +{ char mot[size];
83 if(fp==NULL) 55 if(fp==NULL)
84 return; 56 return;
85 - while(fscanf(fp,"%s",&a)!=EOF)  
86 - { ajout_mot(D,&a);  
87 - D->dernier++;} 57 + while(fscanf(fp,"%s",a)==1)
  58 + { ajout_mot(D,a);
  59 + //D->dernier++;}
88 60
89 -} 61 + }*/
90 62
91 -int rech_mot(struct dico D,char mot [size]) 63 +/*int rech_mot(struct dico D,char mot [size])
92 { 64 {
93 Noeud N; 65 Noeud N;
94 int nbre; 66 int nbre;
@@ -104,22 +76,22 @@ int rech_mot(struct dico D,char mot [size]) @@ -104,22 +76,22 @@ int rech_mot(struct dico D,char mot [size])
104 else 76 else
105 nbre=0; 77 nbre=0;
106 } 78 }
107 - if(N.complet==1) 79 + if(N.complet==1)return newmot
108 nbre=1; 80 nbre=1;
109 } 81 }
110 else 82 else
111 nbre= 0; 83 nbre= 0;
112 } 84 }
113 return nbre; 85 return nbre;
114 -} 86 + }*/
115 87
116 88
117 -void correction_texte(char filename[size], struct dico D) 89 +/*void correction_texte(char filename[size], struct dico D)
118 { 90 {
119 FILE *fp=fopen(filename, "r"); 91 FILE *fp=fopen(filename, "r");
120 char mot[size]; 92 char mot[size];
121 int x; 93 int x;
122 - if(fp==NULL) 94 + if(fp==NULL)return newmot
123 return; 95 return;
124 else 96 else
125 { 97 {
@@ -135,11 +107,13 @@ void correction_texte(char filename[size], struct dico D) @@ -135,11 +107,13 @@ void correction_texte(char filename[size], struct dico D)
135 } 107 }
136 108
137 109
138 -}  
139 -int main(){  
140 - struct dico d;  
141 - ajout_mot(&d,"emilie");  
142 - printf( "%c",d.tableau[0].valeur);  
143 - return 0; 110 + }*/
  111 +
  112 +int main()
  113 +{
  114 + char* newmot;
  115 + sup_lettre("emilie");
  116 +
  117 + return 0;
144 } 118 }
145 119