Commit 762b7dc23eab55b8cec8ba6e814715d861bb024f

Authored by Raouak Haroun
1 parent 70bf4fa9

dernier commit

Makefile 0 → 100755
... ... @@ -0,0 +1,14 @@
  1 +
  2 +all: executable
  3 +
  4 +executable: projet.o
  5 + gcc -o executable projet.o
  6 +
  7 +projet.o: projet.c
  8 + gcc -c projet.c
  9 +
  10 +clean:
  11 + rm -rf *.o
  12 +
  13 +mrproper: clean
  14 + rm -rf $(EXEC)
... ...
Makefile~ 0 → 100755
... ... @@ -0,0 +1,21 @@
  1 +CC=gcc
  2 +CFLAGS=-W -Wall -ansi -pedantic
  3 +LDFLAGS=
  4 +EXEC=projet
  5 +
  6 +all: projet
  7 +
  8 +projet: fonctions.o main.o
  9 + $(CC) -o projet fonctions.o projet.o $(LDFLAGS)
  10 +
  11 +fonctions.o: fonctions.c
  12 + $(CC) -o fonctions.o -c fonctions.c $(CFLAGS)
  13 +
  14 +main.o: main.c fonctions.h
  15 + $(CC) -o main.o -c main.c $(CFLAGS)
  16 +
  17 +clean:
  18 + rm -rf *.o
  19 +
  20 +mrproper: clean
  21 + rm -rf $(EXEC)
0 22 \ No newline at end of file
... ...
a.out 0 → 100755
No preview for this file type
executable 0 → 100755
No preview for this file type
projet.c
... ... @@ -3,35 +3,39 @@
3 3 #include <string.h>
4 4 #include <stdbool.h>
5 5 #include <ctype.h>
  6 +
6 7 typedef struct noeud {
7 8 int valeur;
8 9 struct noeud *lettre[28];
9 10 } noeud ;
  11 +
10 12 typedef struct{
11 13 noeud *dictionnaire[26];
12 14 } dico;
  15 +
13 16 void creer_et_initialiser_le_noeud(noeud ** parbre, int v){
14   -*parbre=(noeud*)malloc(sizeof(noeud));
15   -(*parbre)->valeur=v;
16   -int i;
17   -for(i=0;i<28;i++)
  17 + *parbre=malloc(sizeof(noeud));
  18 + (*parbre)->valeur=v;
  19 + for(int i=0;i<28;i++)
18 20 (*parbre)->lettre[i]=NULL;
19 21 }
  22 +
20 23 void remplissage(noeud ** parbre, char ch[128]){
21 24 int i,n=strlen(ch);
22   - if(& (*parbre)->valeur==NULL)
  25 + if(*parbre==NULL)
23 26 creer_et_initialiser_le_noeud(parbre,tolower(ch[0]));
24 27 for(i=1;i<n;i++){
25 28 if(ch[i]==39)
26 29 parbre=&(*parbre)->lettre[26];
27 30 else
28 31 parbre=&(*parbre)->lettre[tolower(ch[i])-'a'];
29   - if(&(*parbre)->valeur==NULL)
  32 + if(*parbre == NULL)
30 33 creer_et_initialiser_le_noeud(parbre,tolower(ch[i]));
31 34 }
32 35 creer_et_initialiser_le_noeud(&(*parbre)->lettre[27],0);
33 36 }
34 37  
  38 +
35 39 void lecture(noeud ** parbre, FILE *fichier,int v){
36 40 char ch[128];
37 41 noeud ** tmp_parbre=parbre;
... ... @@ -39,6 +43,7 @@ void lecture(noeud ** parbre, FILE *fichier,int v){
39 43 if(tolower(ch[0])==v)
40 44 remplissage(tmp_parbre,ch);
41 45 }
  46 +
42 47 void insertion_dictionnaire(noeud * Arbre[26]){
43 48 int i;
44 49 for(i=0;i<26;i++){
... ... @@ -47,11 +52,13 @@ void insertion_dictionnaire(noeud * Arbre[26]){
47 52 fclose(dico);
48 53 }
49 54 }
  55 +
50 56 void initialiser_dictionnaire(noeud * Arbre[26]){
51 57 int i;
52 58 for(i=0;i<26;i++)
53 59 Arbre[i]=NULL;
54 60 }
  61 +
55 62 bool existe(noeud ** parbre,char ch[128]){
56 63 int n=strlen(ch);
57 64 int i,cpt=0;
... ... @@ -74,6 +81,7 @@ bool existe(noeud ** parbre,char ch[128]){
74 81 }
75 82 else return false;
76 83 }
  84 +
77 85 void corriger_texte(noeud*arbre[26]){
78 86 char ch[128];
79 87 FILE *texte=fopen("texte.txt","r");
... ... @@ -83,6 +91,7 @@ void corriger_texte(noeud*arbre[26]){
83 91 }
84 92 fclose(texte);
85 93 }
  94 +
86 95 int main (){
87 96 dico d;
88 97 initialiser_dictionnaire(d.dictionnaire);
... ... @@ -93,6 +102,7 @@ int main (){
93 102 printf("\nvoici les fautes dans le texte: \n \n");
94 103 corriger_texte(d.dictionnaire);
95 104 printf("\n");
  105 +
96 106 return 0;
97 107 }
98 108  
... ...
projet.o 0 → 100644
No preview for this file type
rapport.pdf 0 → 100755
No preview for this file type