diff --git a/tree.c b/tree.c new file mode 100644 index 0000000..21a0aed --- /dev/null +++ b/tree.c @@ -0,0 +1,100 @@ +#include +#include +#include +#define size 50 +#define taille 26 + +struct Noeud { char valeur;struct liste * fils; char complet;}; + +struct liste { struct Noeud * noeud; struct liste * suivant;}; + +struct dico {struct Noeud tableau[26];int dernier;}; + +typedef struct liste * liste; + +typedef struct Noeud Noeud; + + +Noeud cons_noeud (char a) +{ + Noeud * N = malloc(sizeof(struct Noeud)); + N->valeur=a; + N->fils=NULL; + N->complet=0; + return * N; +} + +void ajout_lettre (Noeud * N , char a) +{ + if(N==NULL) + cons_noeud(a); + else + { ((N->fils)->noeud)->valeur=a; + ((N->fils)->noeud)->fils=NULL; + + } +} + +//Reprendre cette fonction! +void ajout_mot (struct dico * D, char mot[size]) +{ + Noeud *N; + for (int j=0;jdernier;j++) + { if(D->tableau[j].valeur== mot[0]) + { + *N=D->tableau[j]; + } + else + { + *N=cons_noeud(mot[0]); + } + + for (int i=0; ifils->noeud; + } + N->complet=1; + } +} + + +void cons_dico(FILE* fp, struct dico* D) +{ char a; + D->dernier=-1; + if(fp==NULL) + return; + while(fscanf(fp,"%s",&a)!=EOF) + { ajout_mot(D,&a); + D->dernier++;} + +} + +int rech_mot(struct dico D,char mot [size]) +{ + Noeud N; + D.dernier=-1; + for(int i=0;ifils->noeud; + } + return 1; + + if(N.complet=1) + return 1; + } + else + return 0; + } +} + + + + -- libgit2 0.21.2