From dd84636f9e7d5e1f4e0ee0a390a8ac0bd86dedfd Mon Sep 17 00:00:00 2001 From: Raouak Haroun Date: Tue, 23 Apr 2019 12:38:03 +0200 Subject: [PATCH] dernier commit --- #projet.c# | 707 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- a.out | Bin 17208 -> 0 bytes executable | Bin 13400 -> 0 bytes projet.c | 12 ++++++------ projet.o | Bin 4880 -> 0 bytes 5 files changed, 97 insertions(+), 622 deletions(-) mode change 100644 => 100755 #projet.c# diff --git a/#projet.c# b/#projet.c# old mode 100644 new mode 100755 index 35d3322..c990021 --- a/#projet.c# +++ b/#projet.c# @@ -1,633 +1,108 @@ -erA=fopen("dico/A.txt","w"); - FILE *fichierB=fopen("dico/B.txt","w"); - FILE *fichierC=fopen("dico/C.txt","w"); - FILE *fichierD=fopen("dico/D.txt","w"); - FILE *fichierE=fopen("dico/E.txt","w"); - FILE *fichierF=fopen("dico/F.txt","w"); - FILE *fichierG=fopen("dico/G.txt","w"); - FILE *fichierH=fopen("dico/H.txt","w"); - FILE *fichierI=fopen("dico/I.txt","w"); - FILE *fichierJ=fopen("dico/J.txt","w"); - FILE *fichierK=fopen("dico/K.txt","w"); - FILE *fichierL=fopen("dico/L.txt","w"); - FILE *fichierM=fopen("dico/M.txt","w"); - FILE *fichierN=fopen("dico/N.txt","w"); - FILE *fichierO=fopen("dico/O.txt","w"); - FILE *fichierP=fopen("dico/P.txt","w"); - FILE *fichierQ=fopen("dico/Q.txt","w"); - FILE *fichierR=fopen("dico/R.txt","w"); - FILE *fichierS=fopen("dico/S.txt","w"); - FILE *fichierT=fopen("dico/T.txt","w"); - FILE *fichierU=fopen("dico/U.txt","w"); - FILE *fichierV=fopen("dico/V.txt","w"); - FILE *fichierW=fopen("dico/W.txt","w"); - FILE *fichierX=fopen("dico/X.txt","w"); - FILE *fichierY=fopen("dico/Y.txt","w"); - FILE *fichierZ=fopen("dico/Z.txt","w"); - do{ - int n=strlen(ch); - - if((int)ch[0]==97){ - for(i=0;i +#include +#include +#include +#include + +typedef struct noeud { + int valeur; + struct noeud *lettre[28]; +} noeud ; + +typedef struct{ + noeud *dictionnaire[26]; +} dico; + +void creer_et_initialiser_le_noeud(noeud ** parbre, int v){ + *parbre=malloc(sizeof(noeud)); + (*parbre)->valeur=v; + for(int i=0;i<28;i++) + (*parbre)->lettre[i]=NULL; +} +void remplissage(noeud ** parbre, char ch[128]){ + int i,n=strlen(ch); + if(*parbre==NULL) + creer_et_initialiser_le_noeud(parbre,tolower(ch[0])); + for(i=1;ilettre[26]; + else + parbre=&(*parbre)->lettre[tolower(ch[i])-'a']; + if(*parbre == NULL) + creer_et_initialiser_le_noeud(parbre,tolower(ch[i])); } - fclose(fichier); + creer_et_initialiser_le_noeud(&(*parbre)->lettre[27],0); } -void textes(FILE *file){ - char ch[20]; - int i; - if (file != NULL){ - FILE *fileA=fopen("texte/A.txt","w"); - FILE *fileB=fopen("texte/B.txt","w"); - FILE *fileC=fopen("texte/C.txt","w"); - FILE *fileD=fopen("texte/D.txt","w"); - FILE *fileE=fopen("texte/E.txt","w"); - FILE *fileF=fopen("texte/F.txt","w"); - FILE *fileG=fopen("texte/G.txt","w"); - FILE *fileH=fopen("texte/H.txt","w"); - FILE *fileI=fopen("texte/I.txt","w"); - FILE *fileJ=fopen("texte/J.txt","w"); - FILE *fileK=fopen("texte/K.txt","w"); - FILE *fileL=fopen("texte/L.txt","w"); - FILE *fileM=fopen("texte/M.txt","w"); - FILE *fileN=fopen("texte/N.txt","w"); - FILE *fileO=fopen("texte/O.txt","w"); - FILE *fileP=fopen("texte/P.txt","w"); - FILE *fileQ=fopen("texte/Q.txt","w"); - FILE *fileR=fopen("texte/R.txt","w"); - FILE *fileS=fopen("texte/S.txt","w"); - FILE *fileT=fopen("texte/T.txt","w"); - FILE *fileU=fopen("texte/U.txt","w"); - FILE *fileV=fopen("texte/V.txt","w"); - FILE *fileW=fopen("texte/W.txt","w"); - FILE *fileX=fopen("texte/X.txt","w"); - FILE *fileY=fopen("texte/Y.txt","w"); - FILE *fileZ=fopen("texte/Z.txt","w"); - do{ - int n=strlen(ch); - - if((int)ch[0]==97){ - for(i=0;ivaleur) - return 1; - else - return 0; -} -/* -bool repeat(noeud * arbre,char ch[]){ - int cpt=0; +int existe(noeud ** parbre,char ch[128]){ int n=strlen(ch); - int i; - for(i=0;ia,ch[i]); + int a,cpt=0; + noeud ** tmp_parbre=parbre; + for(int i=0;ivaleur){ + cpt++; + if (ch[i+1]==39) + tmp_parbre=&(*tmp_parbre)->lettre[26]; + else + tmp_parbre=&(*tmp_parbre)->lettre[tolower(ch[i+1])-'a']; + } + } } - if(cpt==n) - return 1; - else - return 0; */ - - - - - - - -//void verification(noeud ** arbre, FILE *fichier){ - // char ch[20] - -// do{ - // existe(&(*arbre),ch); - //}while(fscanf(file,"%s",&ch)==1); - -int main(){ - - - - noeud *ArbreA = NULL; - noeud *ArbreB = NULL; - noeud *ArbreC = NULL; - noeud *ArbreD = NULL; - noeud *ArbreE = NULL; - noeud *ArbreF = NULL; - noeud *ArbreG = NULL; - noeud *ArbreH = NULL; - noeud *ArbreI = NULL; - noeud *ArbreJ = NULL; - noeud *ArbreK = NULL; - noeud *ArbreL = NULL; - noeud *ArbreM = NULL; - noeud *ArbreN = NULL; - noeud *ArbreO = NULL; - noeud *ArbreP = NULL; - noeud *ArbreQ = NULL; - noeud *ArbreR = NULL; - noeud *ArbreS = NULL; - noeud *ArbreT = NULL; - noeud *ArbreU = NULL; - noeud *ArbreV = NULL; - noeud *ArbreW = NULL; - noeud *ArbreX = NULL; - noeud *ArbreY = NULL; - noeud *ArbreZ = NULL; - - - FILE *dico=fopen("dico/dico.txt","r"); - - FILE *fichierA=fopen("dico/A.txt","r"); - FILE *fichierB=fopen("dico/B.txt","r"); - FILE *fichierC=fopen("dico/C.txt","r"); - FILE *fichierD=fopen("dico/D.txt","r"); - FILE *fichierE=fopen("dico/E.txt","r"); - FILE *fichierF=fopen("dico/F.txt","r"); - FILE *fichierG=fopen("dico/G.txt","r"); - FILE *fichierH=fopen("dico/H.txt","r"); - FILE *fichierI=fopen("dico/I.txt","r"); - FILE *fichierJ=fopen("dico/J.txt","r"); - FILE *fichierK=fopen("dico/K.txt","r"); - FILE *fichierL=fopen("dico/L.txt","r"); - FILE *fichierM=fopen("dico/M.txt","r"); - FILE *fichierN=fopen("dico/N.txt","r"); - FILE *fichierO=fopen("dico/O.txt","r"); - FILE *fichierP=fopen("dico/P.txt","r"); - FILE *fichierQ=fopen("dico/Q.txt","r"); - FILE *fichierR=fopen("dico/R.txt","r"); - FILE *fichierS=fopen("dico/S.txt","r"); - FILE *fichierT=fopen("dico/T.txt","r"); - FILE *fichierU=fopen("dico/U.txt","r"); - FILE *fichierV=fopen("dico/V.txt","r"); - FILE *fichierW=fopen("dico/W.txt","r"); - FILE *fichierX=fopen("dico/X.txt","r"); - FILE *fichierY=fopen("dico/Y.txt","r"); - FILE *fichierZ=fopen("dico/Z.txt","r"); - - - dicos(dico); - remplissage(&ArbreA,fichierA); - printf("apres remplissage\n"); - - -/* - - lecture(&ArbreA,fichierA); - lecture(&ArbreB,fichierB); - lecture(&ArbreC,fichierC); - lecture(&ArbreD,fichierD); - lecture(&ArbreE,fichierE); - lecture(&ArbreF,fichierF); - lecture(&ArbreG,fichierG); - lecture(&ArbreH,fichierH); - lecture(&ArbreI,fichierI); - lecture(&ArbreJ,fichierJ); - lecture(&ArbreK,fichierK); - lecture(&ArbreL,fichierL); - lecture(&ArbreM,fichierM); - lecture(&ArbreN,fichierN); - lecture(&ArbreO,fichierO); - lecture(&ArbreP,fichierP); - lecture(&ArbreQ,fichierQ); - lecture(&ArbreR,fichierR); - lecture(&ArbreS,fichierS); - lecture(&ArbreT,fichierT); - lecture(&ArbreU,fichierU); - lecture(&ArbreV,fichierV); - lecture(&ArbreW,fichierW); - lecture(&ArbreX,fichierX); - lecture(&ArbreY,fichierY); - lecture(&ArbreZ,fichierZ); -*/ - - - - fclose(dico); - - fclose(fichierA); - fclose(fichierB); - fclose(fichierC); - fclose(fichierD); - fclose(fichierE); - fclose(fichierF); - fclose(fichierG); - fclose(fichierH); - fclose(fichierI); - fclose(fichierJ); - fclose(fichierK); - fclose(fichierL); - fclose(fichierM); - fclose(fichierN); - fclose(fichierO); - fclose(fichierP); - fclose(fichierQ); - fclose(fichierR); - fclose(fichierS); - fclose(fichierT); - fclose(fichierU); - fclose(fichierV); - fclose(fichierW); - fclose(fichierX); - fclose(fichierY); - fclose(fichierZ); - - printf("apres fclose\n"); -/* - FILE *texte=fopen("texte/texte.txt","r"); - textes(texte); - fclose(texte); - - FILE *corrige = fopen("fautes.txt","w"); - fclose(corrige); */ - printf("Ici\n"); - printf("il existe "); - printf(": %d en valeur",ArbreA->valeur); - printf("apres\n"); -// int i,n=strlen(ch) existe(&(*ArbreA->e),'e') -// int tab[n]; -// ascii(tab,ch); -// for(i=0;ivaleur) + if ((*tmp_parbre)->lettre[27]!=NULL) + a=1; + } + else a=0; + return a; +} +void corriger_texte(noeud*arbre[26]){ + char ch[128]; + FILE *texte=fopen("texte.txt","r"); + while(fscanf(texte,"%s",ch)==1){ + if(!existe(&arbre[tolower(ch[0])-'a'],ch)) + printf("%s\n",ch); + } + fclose(texte); +} +int main (){ + dico d; + initialiser_dictionnaire(d.dictionnaire); + insertion_dictionnaire(d.dictionnaire); + printf("-----------------------------------------------------------\n"); + printf("Bienvenue dans le correcteur orthographique de HAROUN V1.0\n"); + printf("-----------------------------------------------------------\n"); + printf("\nvoici les fautes dans le texte: \n \n"); + corriger_texte(d.dictionnaire); + printf("\n"); return 0; - - } + diff --git a/a.out b/a.out index 25ba3fb..9433c77 100755 Binary files a/a.out and b/a.out differ diff --git a/executable b/executable index b4783e1..1c8cd93 100755 Binary files a/executable and b/executable differ diff --git a/projet.c b/projet.c index b3ac714..1017d98 100755 --- a/projet.c +++ b/projet.c @@ -59,11 +59,11 @@ void initialiser_dictionnaire(noeud * Arbre[26]){ Arbre[i]=NULL; } -bool existe(noeud ** parbre,char ch[128]){ +int existe(noeud ** parbre,char ch[128]){ int n=strlen(ch); - int i,cpt=0; + int a,cpt=0; noeud ** tmp_parbre=parbre; - for(i=0;ivaleur){ cpt++; @@ -77,11 +77,11 @@ bool existe(noeud ** parbre,char ch[128]){ if ((*tmp_parbre)!=NULL){ if (tolower(ch[cpt])==(*tmp_parbre)->valeur) if ((*tmp_parbre)->lettre[27]!=NULL) - return true; + a=1; } - else return false; + else a=0; + return a; } - void corriger_texte(noeud*arbre[26]){ char ch[128]; FILE *texte=fopen("texte.txt","r"); diff --git a/projet.o b/projet.o index 8be0b87..881e03e 100644 Binary files a/projet.o and b/projet.o differ -- libgit2 0.21.2