Commit 38be3329e5bb64c851e9160e01034e1b71333fea
1 parent
7d2c7bff
makefile et main
Showing
1 changed file
with
42 additions
and
35 deletions
Show diff stats
arbre.c
1 | -#include <stdio.h> | ||
2 | -#include <stdlib.h> | ||
3 | -#include <stdbool.h> | ||
4 | -#include <string.h> | 1 | +#include "arbre.h" |
5 | 2 | ||
6 | -#define TAILLE 27 | ||
7 | 3 | ||
8 | -typedef struct arbre{ | ||
9 | - char val; | ||
10 | - struct arbre *suite[TAILLE]; | ||
11 | - bool finmot; //1 si fin de mot | ||
12 | -}Arbre; | 4 | +// typedef struct arbre{ |
5 | +// char val; | ||
6 | +// struct arbre *suite[TAILLE]; | ||
7 | +// bool finmot; //1 si fin de mot | ||
8 | +// }Arbre; | ||
9 | +// | ||
10 | +// typedef struct dico { | ||
11 | +// Arbre *alpha[TAILLE]; | ||
12 | +// }Dico; | ||
13 | 13 | ||
14 | -typedef struct dico { | ||
15 | - Arbre *alpha[TAILLE]; | ||
16 | -}Dico; | ||
17 | 14 | ||
18 | 15 | ||
19 | - | ||
20 | -int calculcase(char c){ | 16 | +int calculcase(char c) |
17 | +{ | ||
21 | if(c==39){ | 18 | if(c==39){ |
22 | return 26; | 19 | return 26; |
23 | } | 20 | } |
@@ -39,13 +36,15 @@ bool fin_de_mot(struct arbre *arbre) | @@ -39,13 +36,15 @@ bool fin_de_mot(struct arbre *arbre) | ||
39 | return arbre->finmot; | 36 | return arbre->finmot; |
40 | } | 37 | } |
41 | 38 | ||
42 | -void ini_dico(struct dico * pt_dico){ | 39 | +void ini_dico(struct dico *pt_dico) |
40 | +{ | ||
43 | printf("ini_dico\n"); | 41 | printf("ini_dico\n"); |
44 | for(int i=0;i<TAILLE;i++){ | 42 | for(int i=0;i<TAILLE;i++){ |
45 | pt_dico->alpha[i]=NULL; | 43 | pt_dico->alpha[i]=NULL; |
46 | } | 44 | } |
47 | } | 45 | } |
48 | -void creation_arbre(Arbre **ppt_arbre,char c){ | 46 | +void creation_arbre(Arbre **ppt_arbre,char c) |
47 | +{ | ||
49 | printf("creation arbre\n"); | 48 | printf("creation arbre\n"); |
50 | Arbre *monarbre=malloc(sizeof(struct arbre)); | 49 | Arbre *monarbre=malloc(sizeof(struct arbre)); |
51 | monarbre->val=c; | 50 | monarbre->val=c; |
@@ -57,7 +56,8 @@ void creation_arbre(Arbre **ppt_arbre,char c){ | @@ -57,7 +56,8 @@ void creation_arbre(Arbre **ppt_arbre,char c){ | ||
57 | } | 56 | } |
58 | 57 | ||
59 | 58 | ||
60 | -void ajout_mot(struct arbre **arbrecourant,char *mot,int i){ | 59 | +void ajout_mot(struct arbre **arbrecourant,char *mot,int i) |
60 | +{ | ||
61 | 61 | ||
62 | printf("%s:length:%zu \n",mot,strlen(mot)); | 62 | printf("%s:length:%zu \n",mot,strlen(mot)); |
63 | 63 | ||
@@ -67,6 +67,9 @@ void ajout_mot(struct arbre **arbrecourant,char *mot,int i){ | @@ -67,6 +67,9 @@ void ajout_mot(struct arbre **arbrecourant,char *mot,int i){ | ||
67 | creation_arbre(arbrecourant,mot[i]); | 67 | creation_arbre(arbrecourant,mot[i]); |
68 | } | 68 | } |
69 | i++; | 69 | i++; |
70 | + if(mot[i]!='\0'){ | ||
71 | + (*arbrecourant)->finmot=true; | ||
72 | + } | ||
70 | ajout_mot(&((*arbrecourant)->suite[calculcase(mot[i])]),mot,i); | 73 | ajout_mot(&((*arbrecourant)->suite[calculcase(mot[i])]),mot,i); |
71 | } | 74 | } |
72 | 75 | ||
@@ -84,7 +87,8 @@ void charger_arbre(FILE *fp, struct dico **ppt_dico) | @@ -84,7 +87,8 @@ void charger_arbre(FILE *fp, struct dico **ppt_dico) | ||
84 | } | 87 | } |
85 | 88 | ||
86 | 89 | ||
87 | -void free_arbre(struct arbre *pt_arbre){ | 90 | +void free_arbre(struct arbre *pt_arbre) |
91 | +{ | ||
88 | if (pt_arbre==NULL){ | 92 | if (pt_arbre==NULL){ |
89 | return ; | 93 | return ; |
90 | } | 94 | } |
@@ -94,7 +98,8 @@ void free_arbre(struct arbre *pt_arbre){ | @@ -94,7 +98,8 @@ void free_arbre(struct arbre *pt_arbre){ | ||
94 | free(pt_arbre); | 98 | free(pt_arbre); |
95 | } | 99 | } |
96 | 100 | ||
97 | -void free_dico(struct dico *pt_dico){ | 101 | +void free_dico(struct dico *pt_dico) |
102 | +{ | ||
98 | if (pt_dico==NULL){ | 103 | if (pt_dico==NULL){ |
99 | return ; | 104 | return ; |
100 | } | 105 | } |
@@ -106,7 +111,8 @@ void free_dico(struct dico *pt_dico){ | @@ -106,7 +111,8 @@ void free_dico(struct dico *pt_dico){ | ||
106 | free(pt_dico); | 111 | free(pt_dico); |
107 | } | 112 | } |
108 | 113 | ||
109 | -void affiche_arbre(struct arbre *arbre){ | 114 | +void affiche_arbre(struct arbre *arbre) |
115 | +{ | ||
110 | if(arbre==NULL){ | 116 | if(arbre==NULL){ |
111 | return ; | 117 | return ; |
112 | } | 118 | } |
@@ -116,7 +122,8 @@ void affiche_arbre(struct arbre *arbre){ | @@ -116,7 +122,8 @@ void affiche_arbre(struct arbre *arbre){ | ||
116 | } | 122 | } |
117 | } | 123 | } |
118 | 124 | ||
119 | -void affiche_dico(struct dico *dico){ | 125 | +void affiche_dico(struct dico *dico) |
126 | +{ | ||
120 | if(dico==NULL){ | 127 | if(dico==NULL){ |
121 | return ; | 128 | return ; |
122 | } | 129 | } |
@@ -130,16 +137,16 @@ void affiche_dico(struct dico *dico){ | @@ -130,16 +137,16 @@ void affiche_dico(struct dico *dico){ | ||
130 | } | 137 | } |
131 | 138 | ||
132 | 139 | ||
133 | -int main (){ | ||
134 | - FILE* fp = fopen("words-no-accents","r"); //amelioration entrée | ||
135 | - if(fp == NULL){ return EXIT_FAILURE;} //File is not readable | ||
136 | - | ||
137 | - struct dico *mondico=malloc(sizeof(struct dico)); | ||
138 | - charger_arbre(fp,&mondico); | ||
139 | - affiche_dico(mondico); | ||
140 | - | ||
141 | - | ||
142 | - free_dico(mondico); | ||
143 | - fclose(fp); | ||
144 | - return 0; | ||
145 | -} | 140 | +// int main (){ |
141 | +// FILE* fp = fopen("words-no-accents","r"); //amelioration entrée | ||
142 | +// if(fp == NULL){ return EXIT_FAILURE;} //File is not readable | ||
143 | +// | ||
144 | +// struct dico *mondico=malloc(sizeof(struct dico)); | ||
145 | +// charger_arbre(fp,&mondico); | ||
146 | +// affiche_dico(mondico); | ||
147 | +// | ||
148 | +// | ||
149 | +// free_dico(mondico); | ||
150 | +// fclose(fp); | ||
151 | +// return 0; | ||
152 | +// } |