Commit 5c016b2c3764a65cf2dec42e75ca75405e8bc354
1 parent
d7eb54d2
Pas besoin
Showing
1 changed file
with
0 additions
and
108 deletions
Show diff stats
#projet.c# deleted
@@ -1,108 +0,0 @@ | @@ -1,108 +0,0 @@ | ||
1 | -#include <stdio.h> | ||
2 | -#include <stdlib.h> | ||
3 | -#include <string.h> | ||
4 | -#include <stdbool.h> | ||
5 | -#include <ctype.h> | ||
6 | - | ||
7 | -typedef struct noeud { | ||
8 | - int valeur; | ||
9 | - struct noeud *lettre[28]; | ||
10 | -} noeud ; | ||
11 | - | ||
12 | -typedef struct{ | ||
13 | - noeud *dictionnaire[26]; | ||
14 | -} dico; | ||
15 | - | ||
16 | -void creer_et_initialiser_le_noeud(noeud ** parbre, int v){ | ||
17 | - *parbre=malloc(sizeof(noeud)); | ||
18 | - (*parbre)->valeur=v; | ||
19 | - for(int i=0;i<28;i++) | ||
20 | - (*parbre)->lettre[i]=NULL; | ||
21 | -} | ||
22 | - | ||
23 | -void remplissage(noeud ** parbre, char ch[128]){ | ||
24 | - int i,n=strlen(ch); | ||
25 | - if(*parbre==NULL) | ||
26 | - creer_et_initialiser_le_noeud(parbre,tolower(ch[0])); | ||
27 | - for(i=1;i<n;i++){ | ||
28 | - if(ch[i]==39) | ||
29 | - parbre=&(*parbre)->lettre[26]; | ||
30 | - else | ||
31 | - parbre=&(*parbre)->lettre[tolower(ch[i])-'a']; | ||
32 | - if(*parbre == NULL) | ||
33 | - creer_et_initialiser_le_noeud(parbre,tolower(ch[i])); | ||
34 | - } | ||
35 | - creer_et_initialiser_le_noeud(&(*parbre)->lettre[27],0); | ||
36 | -} | ||
37 | - | ||
38 | - | ||
39 | -void lecture(noeud ** parbre, FILE *fichier,int v){ | ||
40 | - char ch[128]; | ||
41 | - noeud ** tmp_parbre=parbre; | ||
42 | - while(fscanf(fichier,"%s",ch)==1) | ||
43 | - if(tolower(ch[0])==v) | ||
44 | - remplissage(tmp_parbre,ch); | ||
45 | -} | ||
46 | - | ||
47 | -void insertion_dictionnaire(noeud * Arbre[26]){ | ||
48 | - int i; | ||
49 | - for(i=0;i<26;i++){ | ||
50 | - FILE *dico=fopen("dico.txt","r"); | ||
51 | - lecture(&Arbre[i],dico,i+'a'); | ||
52 | - fclose(dico); | ||
53 | - } | ||
54 | -} | ||
55 | - | ||
56 | -void initialiser_dictionnaire(noeud * Arbre[26]){ | ||
57 | - int i; | ||
58 | - for(i=0;i<26;i++) | ||
59 | - Arbre[i]=NULL; | ||
60 | -} | ||
61 | - | ||
62 | -int existe(noeud ** parbre,char ch[128]){ | ||
63 | - int n=strlen(ch); | ||
64 | - int a,cpt=0; | ||
65 | - noeud ** tmp_parbre=parbre; | ||
66 | - for(int i=0;i<n-1;i++){ | ||
67 | - if((*tmp_parbre)!=NULL){ | ||
68 | - if(tolower(ch[i])==(*tmp_parbre)->valeur){ | ||
69 | - cpt++; | ||
70 | - if (ch[i+1]==39) | ||
71 | - tmp_parbre=&(*tmp_parbre)->lettre[26]; | ||
72 | - else | ||
73 | - tmp_parbre=&(*tmp_parbre)->lettre[tolower(ch[i+1])-'a']; | ||
74 | - } | ||
75 | - } | ||
76 | - } | ||
77 | - if ((*tmp_parbre)!=NULL){ | ||
78 | - if (tolower(ch[cpt])==(*tmp_parbre)->valeur) | ||
79 | - if ((*tmp_parbre)->lettre[27]!=NULL) | ||
80 | - a=1; | ||
81 | - } | ||
82 | - else a=0; | ||
83 | - return a; | ||
84 | -} | ||
85 | -void corriger_texte(noeud*arbre[26]){ | ||
86 | - char ch[128]; | ||
87 | - FILE *texte=fopen("texte.txt","r"); | ||
88 | - while(fscanf(texte,"%s",ch)==1){ | ||
89 | - if(!existe(&arbre[tolower(ch[0])-'a'],ch)) | ||
90 | - printf("%s\n",ch); | ||
91 | - } | ||
92 | - fclose(texte); | ||
93 | -} | ||
94 | - | ||
95 | -int main (){ | ||
96 | - dico d; | ||
97 | - initialiser_dictionnaire(d.dictionnaire); | ||
98 | - insertion_dictionnaire(d.dictionnaire); | ||
99 | - printf("-----------------------------------------------------------\n"); | ||
100 | - printf("Bienvenue dans le correcteur orthographique de HAROUN V1.0\n"); | ||
101 | - printf("-----------------------------------------------------------\n"); | ||
102 | - printf("\nvoici les fautes dans le texte: \n \n"); | ||
103 | - corriger_texte(d.dictionnaire); | ||
104 | - printf("\n"); | ||
105 | - | ||
106 | - return 0; | ||
107 | -} | ||
108 | - |