projet.c
2.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
typedef struct noeud{
int valeur;
struct noeud *lettre[26];
} noeud ;
void creer_et_initialiser_le_noeud(noeud ** parbre, int v){
*parbre=malloc(sizeof(noeud));
(*parbre)->valeur=v;
int i;
for(i=0;i<26;i++)
(*parbre)->lettre[i]=NULL;
}
void remplissage(noeud ** parbre, char ch[128]){
int i;
int n=strlen(ch);
if(&(*parbre)->valeur==NULL)
creer_et_initialiser_le_noeud(parbre,ch[0]);
for(i=1;i<n;i++){
parbre=&(*parbre)->lettre[ch[i]-'a'];
if(&(*parbre)->valeur==NULL)
creer_et_initialiser_le_noeud(parbre,ch[i]);
}
}
void lecture(noeud ** parbre, FILE *fichier){
char ch[128];
int i;
noeud ** tmp_parbre=parbre;
while(fscanf(fichier,"%s",ch)==1)
remplissage(tmp_parbre,ch);
}
int main (){
noeud *Arbre = NULL;
FILE *dico=fopen("dico.txt","r");
lecture(&Arbre,dico);
fclose(dico);
FILE *texte=fopen("texte.txt","r");
fclose(texte);
printf("la lettre est :%c\n",Arbre->valeur);
printf("la lettre est :%c\n",Arbre->lettre[17]->valeur);
printf("la lettre est :%c\n",Arbre->lettre[17]->lettre[1]->valeur); // afficher arbre
printf("la lettre est :%c\n",Arbre->lettre[17]->lettre[1]->lettre[17]->valeur);
printf("la lettre est :%c\n",Arbre->lettre[17]->lettre[1]->lettre[17]->lettre[4]->valeur);
printf("\n");
printf("la lettre est :%c\n",Arbre->valeur);
printf("la lettre est :%c\n",Arbre->lettre[25]->valeur);
printf("la lettre est :%c\n",Arbre->lettre[25]->lettre[4]->valeur); // afficher azerty
printf("la lettre est :%c\n",Arbre->lettre[25]->lettre[4]->lettre[17]->valeur);
printf("la lettre est :%c\n",Arbre->lettre[25]->lettre[4]->lettre[17]->lettre[19]->valeur);
printf("la lettre est :%c\n",Arbre->lettre[25]->lettre[4]->lettre[17]->lettre[19]->lettre[24]->valeur);
printf("\n");
printf("la lettre est :%c\n",Arbre->valeur);
printf("la lettre est :%c\n",Arbre->lettre[13]->valeur);
printf("la lettre est :%c\n",Arbre->lettre[13]->lettre[0]->valeur); // afficher azerty
printf("la lettre est :%c\n",Arbre->lettre[13]->lettre[0]->lettre[13]->valeur);
printf("la lettre est :%c\n",Arbre->lettre[13]->lettre[0]->lettre[13]->lettre[0]->valeur);
printf("la lettre est :%c\n",Arbre->lettre[13]->lettre[0]->lettre[13]->lettre[0]->lettre[18]->valeur);
FILE *corrige = fopen("fautes.txt","w");
fclose(corrige);
return 0;
}