Commit 731e6094cdf3ae1127033c834954d26aa843d4b5

Authored by Raouak Haroun
1 parent c8dbffe1

commit du 28 masrs

Showing 1 changed file with 472 additions and 56 deletions   Show diff stats
projet.c
1 1 #include <stdio.h>
2 2 #include <stdlib.h>
3   -
4   -
  3 +#include <string.h>
5 4  
6 5 typedef struct noeud
7 6 {
8   - int valeur;
9   - struct noeud *gauche;
10   - struct noeud *droite;
  7 + int valeur;
  8 + struct noeud *a;
  9 + struct noeud *b;
  10 + struct noeud *c;
  11 + struct noeud *d;
  12 + struct noeud *e;
  13 + struct noeud *f;
  14 + struct noeud *g;
  15 + struct noeud *h;
  16 + struct noeud *i;
  17 + struct noeud *j;
  18 + struct noeud *k;
  19 + struct noeud *l;
  20 + struct noeud *m;
  21 + struct noeud *n;
  22 + struct noeud *o;
  23 + struct noeud *p;
  24 + struct noeud *q;
  25 + struct noeud *r;
  26 + struct noeud *s;
  27 + struct noeud *t;
  28 + struct noeud *u;
  29 + struct noeud *v;
  30 + struct noeud *w;
  31 + struct noeud *x;
  32 + struct noeud *y;
  33 + struct noeud *z;
11 34 } noeud ;
12 35  
13 36  
14 37  
15 38  
16   -
17   -void print_arbre(noeud *arbre)
18   -{
19   - if (arbre==NULL)
20   - printf("NULL\n");
21   - else if(arbre!=NULL)
22   - {
23   - printf("%d\n",arbre->valeur);
24   -
25   - if (arbre->gauche != NULL)
26   - print_arbre(arbre->gauche);
27   - // printf("\n");}
28   - else if(arbre->gauche == NULL)
29   - printf("NULL\t");
30   -
31   - if (arbre->droite != NULL)
32   - print_arbre(arbre->droite);
33   - // printf("\n");}
34   - else if (arbre->droite != NULL)
35   - printf("NULL\t");
36   - }
37   -
  39 +void insertion1(noeud ** arbre, int v){
38 40  
  41 + *arbre=(noeud*) malloc(sizeof(noeud));
  42 + (*arbre)->valeur=v;
  43 + (*arbre)->a=NULL;
  44 + (*arbre)->b=NULL;
  45 + (*arbre)->c=NULL;
  46 + (*arbre)->d=NULL;
  47 + (*arbre)->e=NULL;
  48 + (*arbre)->f=NULL;
  49 + (*arbre)->g=NULL;
  50 + (*arbre)->h=NULL;
  51 + (*arbre)->i=NULL;
  52 + (*arbre)->j=NULL;
  53 + (*arbre)->k=NULL;
  54 + (*arbre)->l=NULL;
  55 + (*arbre)->m=NULL;
  56 + (*arbre)->n=NULL;
  57 + (*arbre)->o=NULL;
  58 + (*arbre)->p=NULL;
  59 + (*arbre)->q=NULL;
  60 + (*arbre)->r=NULL;
  61 + (*arbre)->s=NULL;
  62 + (*arbre)->t=NULL;
  63 + (*arbre)->u=NULL;
  64 + (*arbre)->v=NULL;
  65 + (*arbre)->w=NULL;
  66 + (*arbre)->x=NULL;
  67 + (*arbre)->y=NULL;
  68 + (*arbre)->z=NULL;
  69 +
39 70 }
40 71  
41   -void insertion(noeud ** arbre, int v){
42   - if (*arbre==NULL) /* si le noeud nโ€™existe pas, on le crรฉe */
43   - {
44   - *arbre=(noeud*) malloc(sizeof(noeud));
45   - (*arbre)->valeur=v;
46   - (*arbre)->gauche=NULL;
47   - (*arbre)->droite=NULL;
48   - }
  72 +void insertion2(noeud ** arbre, int v){
  73 +
  74 + {
  75 +
  76 + if (v==97)
  77 + insertion1(&(*arbre)->a,v);
  78 +
  79 + else if (v==98)
  80 + insertion1(&(*arbre)->b,v);
  81 + else if (v==99)
  82 + insertion1(&(*arbre)->c,v);
  83 + else if (v==99)
  84 + insertion1(&(*arbre)->c,v);
  85 + else if (v==100)
  86 + insertion1(&(*arbre)->d,v);
  87 + else if (v==101)
  88 + insertion1(&(*arbre)->e,v);
  89 + else if (v==102)
  90 + insertion1(&(*arbre)->f,v);
  91 + else if (v==103)
  92 + insertion1(&(*arbre)->g,v);
  93 + else if (v==104)
  94 + insertion1(&(*arbre)->h,v);
  95 + else if (v==105)
  96 + insertion1(&(*arbre)->i,v);
  97 + else if (v==106)
  98 + insertion1(&(*arbre)->j,v);
  99 + else if (v==107)
  100 + insertion1(&(*arbre)->k,v);
  101 + else if (v==108)
  102 + insertion1(&(*arbre)->l,v);
  103 + else if (v==109)
  104 + insertion1(&(*arbre)->m,v);
  105 + else if (v==110)
  106 + insertion1(&(*arbre)->n,v);
  107 + else if (v==111)
  108 + insertion1(&(*arbre)->o,v);
  109 + else if (v==112)
  110 + insertion1(&(*arbre)->p,v);
  111 + else if (v==113)
  112 + insertion1(&(*arbre)->q,v);
  113 + else if (v==114)
  114 + insertion1(&(*arbre)->r,v);
  115 + else if (v==115)
  116 + insertion1(&(*arbre)->s,v);
  117 + else if (v==116)
  118 + insertion1(&(*arbre)->t,v);
  119 + else if (v==117)
  120 + insertion1(&(*arbre)->u,v);
  121 + else if (v==118)
  122 + insertion1(&(*arbre)->v,v);
  123 + else if (v==119)
  124 + insertion1(&(*arbre)->w,v);
  125 + else if (v==120)
  126 + insertion1(&(*arbre)->x,v);
  127 + else if (v==121)
  128 + insertion1(&(*arbre)->y,v);
  129 + else if (v==122)
  130 + insertion1(&(*arbre)->z,v);
  131 +
  132 +
  133 + }
49 134 }
50 135  
51   -// else
52   -// {
53   -// if (v>(*arbre)->valeur)
54   -void insertionD(noeud ** arbre, int v){
55   - insertion(&(*arbre)->droite,v); /* aller a droite */ }
56   -// else
57   -void insertionG(noeud ** arbre, int v){
58   - insertion(&(*arbre)->gauche,v); /* aller a gauche */ }
59   -
60   -
61   -
62   -int main(){
  136 +void remplissage(noeud ** arbre, FILE *fichier){
  137 + int i;
  138 + char ch[20];
  139 + fscanf(fichier,"%s",&ch);
  140 + int n=strlen(ch);
  141 + insertion1(&(*arbre),(int)ch[0]);
  142 + for (i=1;i<n;i++)
  143 + insertion2(&(*arbre),(int)ch[i]);
  144 +}
63 145  
  146 +void lecture(noeud ** arbre, FILE *fichier){
  147 + int i;
  148 + for(i=0;i<10;i++)
  149 + remplissage(&(*arbre),fichier);
  150 +}
64 151  
  152 +void textes(FILE *fichier){
  153 + char ch[20];
  154 + int i;
  155 + if (fichier != NULL){
  156 + FILE *fichierA=fopen("A.txt","w");
  157 + FILE *fichierB=fopen("B.txt","w");
  158 + FILE *fichierC=fopen("C.txt","w");
  159 + FILE *fichierD=fopen("D.txt","w");
  160 + FILE *fichierE=fopen("E.txt","w");
  161 + FILE *fichierF=fopen("F.txt","w");
  162 + FILE *fichierG=fopen("G.txt","w");
  163 + FILE *fichierH=fopen("H.txt","w");
  164 + FILE *fichierI=fopen("I.txt","w");
  165 + FILE *fichierJ=fopen("J.txt","w");
  166 + FILE *fichierK=fopen("K.txt","w");
  167 + FILE *fichierL=fopen("L.txt","w");
  168 + FILE *fichierM=fopen("M.txt","w");
  169 + FILE *fichierN=fopen("N.txt","w");
  170 + FILE *fichierO=fopen("O.txt","w");
  171 + FILE *fichierP=fopen("P.txt","w");
  172 + FILE *fichierQ=fopen("Q.txt","w");
  173 + FILE *fichierR=fopen("R.txt","w");
  174 + FILE *fichierS=fopen("S.txt","w");
  175 + FILE *fichierT=fopen("T.txt","w");
  176 + FILE *fichierU=fopen("U.txt","w");
  177 + FILE *fichierV=fopen("V.txt","w");
  178 + FILE *fichierW=fopen("W.txt","w");
  179 + FILE *fichierX=fopen("X.txt","w");
  180 + FILE *fichierY=fopen("Y.txt","w");
  181 + FILE *fichierZ=fopen("Z.txt","w");
  182 + do{
  183 + int n=strlen(ch);
  184 +
  185 + if((int)ch[0]==97){
  186 + for(i=0;i<n;i++)
  187 + fprintf(fichierA,"%c",ch[i]);
  188 + fprintf(fichierA,"%s","\n");
  189 + }
  190 +
  191 + if((int)ch[0]==98){
  192 + for(i=0;i<n;i++)
  193 + fprintf(fichierB,"%c",ch[i]);
  194 + fprintf(fichierB,"%s","\n");
  195 + }
  196 +
  197 + if((int)ch[0]==99){
  198 + for(i=0;i<n;i++)
  199 + fprintf(fichierC,"%c",ch[i]);
  200 + fprintf(fichierC,"%s","\n");
  201 + }
  202 +
  203 + if((int)ch[0]==100){
  204 + for(i=0;i<n;i++)
  205 + fprintf(fichierD,"%c",ch[i]);
  206 + fprintf(fichierD,"%s","\n");
  207 + }
  208 +
  209 + if((int)ch[0]==101){
  210 + for(i=0;i<n;i++)
  211 + fprintf(fichierE,"%c",ch[i]);
  212 + fprintf(fichierE,"%s","\n");
  213 + }
  214 +
  215 + if((int)ch[0]==102){
  216 + for(i=0;i<n;i++)
  217 + fprintf(fichierF,"%c",ch[i]);
  218 + fprintf(fichierF,"%s","\n");
  219 + }
  220 +
  221 + if((int)ch[0]==103){
  222 + for(i=0;i<n;i++)
  223 + fprintf(fichierG,"%c",ch[i]);
  224 + fprintf(fichierG,"%s","\n");
  225 + }
  226 +
  227 + if((int)ch[0]==104){
  228 + for(i=0;i<n;i++)
  229 + fprintf(fichierH,"%c",ch[i]);
  230 + fprintf(fichierH,"%s","\n");
  231 + }
  232 +
  233 + if((int)ch[0]==105){
  234 + for(i=0;i<n;i++)
  235 + fprintf(fichierI,"%c",ch[i]);
  236 + fprintf(fichierI,"%s","\n");
  237 + }
  238 +
  239 + if((int)ch[0]==106){
  240 + for(i=0;i<n;i++)
  241 + fprintf(fichierJ,"%c",ch[i]);
  242 + fprintf(fichierJ,"%s","\n");
  243 + }
  244 +
  245 + if((int)ch[0]==107){
  246 + for(i=0;i<n;i++)
  247 + fprintf(fichierK,"%c",ch[i]);
  248 + fprintf(fichierK,"%s","\n");
  249 + }
  250 +
  251 + if((int)ch[0]==108){
  252 + for(i=0;i<n;i++)
  253 + fprintf(fichierL,"%c",ch[i]);
  254 + fprintf(fichierL,"%s","\n");
  255 + }
  256 +
  257 + if((int)ch[0]==109){
  258 + for(i=0;i<n;i++)
  259 + fprintf(fichierM,"%c",ch[i]);
  260 + fprintf(fichierM,"%s","\n");
  261 + }
  262 +
  263 + if((int)ch[0]==110){
  264 + for(i=0;i<n;i++)
  265 + fprintf(fichierN,"%c",ch[i]);
  266 + fprintf(fichierN,"%s","\n");
  267 + }
  268 +
  269 + if((int)ch[0]==111){
  270 + for(i=0;i<n;i++)
  271 + fprintf(fichierO,"%c",ch[i]);
  272 + fprintf(fichierO,"%s","\n");
  273 + }
  274 +
  275 + if((int)ch[0]==112){
  276 + for(i=0;i<n;i++)
  277 + fprintf(fichierP,"%c",ch[i]);
  278 + fprintf(fichierP,"%s","\n");
  279 + }
  280 +
  281 + if((int)ch[0]==113){
  282 + for(i=0;i<n;i++)
  283 + fprintf(fichierQ,"%c",ch[i]);
  284 + fprintf(fichierQ,"%s","\n");
  285 + }
  286 +
  287 + if((int)ch[0]==114){
  288 + for(i=0;i<n;i++)
  289 + fprintf(fichierR,"%c",ch[i]);
  290 + fprintf(fichierR,"%s","\n");
  291 + }
  292 +
  293 + if((int)ch[0]==115){
  294 + for(i=0;i<n;i++)
  295 + fprintf(fichierS,"%c",ch[i]);
  296 + fprintf(fichierS,"%s","\n");
  297 + }
  298 +
  299 + if((int)ch[0]==116){
  300 + for(i=0;i<n;i++)
  301 + fprintf(fichierT,"%c",ch[i]);
  302 + fprintf(fichierT,"%s","\n");
  303 + }
  304 +
  305 + if((int)ch[0]==117){
  306 + for(i=0;i<n;i++)
  307 + fprintf(fichierU,"%c",ch[i]);
  308 + fprintf(fichierU,"%s","\n");
  309 + }
  310 +
  311 + if((int)ch[0]==118){
  312 + for(i=0;i<n;i++)
  313 + fprintf(fichierV,"%c",ch[i]);
  314 + fprintf(fichierV,"%s","\n");
  315 + }
  316 +
  317 + if((int)ch[0]==119){
  318 + for(i=0;i<n;i++)
  319 + fprintf(fichierW,"%c",ch[i]);
  320 + fprintf(fichierW,"%s","\n");
  321 + }
  322 +
  323 + if((int)ch[0]==120){
  324 + for(i=0;i<n;i++)
  325 + fprintf(fichierX,"%c",ch[i]);
  326 + fprintf(fichierX,"%s","\n");
  327 + }
  328 +
  329 + if((int)ch[0]==121){
  330 + for(i=0;i<n;i++)
  331 + fprintf(fichierY,"%c",ch[i]);
  332 + fprintf(fichierY,"%s","\n");
  333 + }
  334 +
  335 + if((int)ch[0]==122){
  336 + for(i=0;i<n;i++)
  337 + fprintf(fichierZ,"%c",ch[i]);
  338 + fprintf(fichierZ,"%s","\n");
  339 + }
  340 +
  341 + } while(fscanf(fichier,"%s",&ch)==1);
  342 +
  343 + fclose(fichierA);
  344 + fclose(fichierB);
  345 + fclose(fichierC);
  346 + fclose(fichierD);
  347 + fclose(fichierE);
  348 + fclose(fichierF);
  349 + fclose(fichierG);
  350 + fclose(fichierH);
  351 + fclose(fichierI);
  352 + fclose(fichierJ);
  353 + fclose(fichierK);
  354 + fclose(fichierL);
  355 + fclose(fichierM);
  356 + fclose(fichierN);
  357 + fclose(fichierO);
  358 + fclose(fichierP);
  359 + fclose(fichierQ);
  360 + fclose(fichierR);
  361 + fclose(fichierS);
  362 + fclose(fichierT);
  363 + fclose(fichierU);
  364 + fclose(fichierV);
  365 + fclose(fichierW);
  366 + fclose(fichierX);
  367 + fclose(fichierY);
  368 + fclose(fichierZ);
  369 +
  370 +
  371 + }
  372 + fclose(fichier);
  373 +}
  374 +
65 375  
66   - noeud *Arbre = NULL;
67 376  
68 377  
  378 +int main(){
69 379  
70   - insertion(&Arbre, 303);
71   - insertionD(&Arbre, 304);
72   - insertionG(&Arbre, 305);
73 380  
74   -
75 381  
  382 + noeud *ArbreA = NULL;
  383 + noeud *ArbreB = NULL;
  384 + noeud *ArbreC = NULL;
  385 + noeud *ArbreD = NULL;
  386 + noeud *ArbreE = NULL;
  387 + noeud *ArbreF = NULL;
  388 + noeud *ArbreG = NULL;
  389 + noeud *ArbreH = NULL;
  390 + noeud *ArbreI = NULL;
  391 + noeud *ArbreJ = NULL;
  392 + noeud *ArbreK = NULL;
  393 + noeud *ArbreL = NULL;
  394 + noeud *ArbreM = NULL;
  395 + noeud *ArbreN = NULL;
  396 + noeud *ArbreO = NULL;
  397 + noeud *ArbreP = NULL;
  398 + noeud *ArbreQ = NULL;
  399 + noeud *ArbreR = NULL;
  400 + noeud *ArbreS = NULL;
  401 + noeud *ArbreT = NULL;
  402 + noeud *ArbreU = NULL;
  403 + noeud *ArbreV = NULL;
  404 + noeud *ArbreW = NULL;
  405 + noeud *ArbreX = NULL;
  406 + noeud *ArbreY = NULL;
  407 + noeud *ArbreZ = NULL;
76 408  
77   - print_arbre(Arbre);
78   - // FILE* fichier = NULL;
79   - //fichier = fopen("texte.txt","r");
  409 + FILE *fichier=fopen("dico.txt","r");
  410 + FILE *fichierA=fopen("A.txt","r");
  411 + FILE *fichierB=fopen("B.txt","r");
  412 + FILE *fichierC=fopen("C.txt","r");
  413 + FILE *fichierD=fopen("D.txt","r");
  414 + FILE *fichierE=fopen("E.txt","r");
  415 + FILE *fichierF=fopen("F.txt","r");
  416 + FILE *fichierG=fopen("G.txt","r");
  417 + FILE *fichierH=fopen("H.txt","r");
  418 + FILE *fichierI=fopen("I.txt","r");
  419 + FILE *fichierJ=fopen("J.txt","r");
  420 + FILE *fichierK=fopen("K.txt","r");
  421 + FILE *fichierL=fopen("L.txt","r");
  422 + FILE *fichierM=fopen("M.txt","r");
  423 + FILE *fichierN=fopen("N.txt","r");
  424 + FILE *fichierO=fopen("O.txt","r");
  425 + FILE *fichierP=fopen("P.txt","r");
  426 + FILE *fichierQ=fopen("Q.txt","r");
  427 + FILE *fichierR=fopen("R.txt","r");
  428 + FILE *fichierS=fopen("S.txt","r");
  429 + FILE *fichierT=fopen("T.txt","r");
  430 + FILE *fichierU=fopen("U.txt","r");
  431 + FILE *fichierV=fopen("V.txt","r");
  432 + FILE *fichierW=fopen("W.txt","r");
  433 + FILE *fichierX=fopen("X.txt","r");
  434 + FILE *fichierY=fopen("Y.txt","r");
  435 + FILE *fichierZ=fopen("Z.txt","r");
  436 +
  437 +
  438 + textes(fichier);
  439 +
  440 + lecture(&ArbreA,fichierA);
  441 + lecture(&ArbreB,fichierB);
  442 + lecture(&ArbreC,fichierC);
  443 + lecture(&ArbreD,fichierD);
  444 + lecture(&ArbreE,fichierE);
  445 + lecture(&ArbreF,fichierF);
  446 + lecture(&ArbreG,fichierG);
  447 + lecture(&ArbreH,fichierH);
  448 + lecture(&ArbreI,fichierI);
  449 + lecture(&ArbreJ,fichierJ);
  450 + lecture(&ArbreK,fichierK);
  451 + lecture(&ArbreL,fichierL);
  452 + lecture(&ArbreM,fichierM);
  453 + lecture(&ArbreN,fichierN);
  454 + lecture(&ArbreO,fichierO);
  455 + lecture(&ArbreP,fichierP);
  456 + lecture(&ArbreQ,fichierQ);
  457 + lecture(&ArbreR,fichierR);
  458 + lecture(&ArbreS,fichierS);
  459 + lecture(&ArbreT,fichierT);
  460 + lecture(&ArbreU,fichierU);
  461 + lecture(&ArbreV,fichierV);
  462 + lecture(&ArbreW,fichierW);
  463 + lecture(&ArbreX,fichierX);
  464 + lecture(&ArbreY,fichierY);
  465 + lecture(&ArbreZ,fichierZ);
  466 +
  467 +
  468 + fclose(fichier);
  469 + fclose(fichierA);
  470 + fclose(fichierB);
  471 + fclose(fichierC);
  472 + fclose(fichierD);
  473 + fclose(fichierE);
  474 + fclose(fichierF);
  475 + fclose(fichierG);
  476 + fclose(fichierH);
  477 + fclose(fichierI);
  478 + fclose(fichierJ);
  479 + fclose(fichierK);
  480 + fclose(fichierL);
  481 + fclose(fichierM);
  482 + fclose(fichierN);
  483 + fclose(fichierO);
  484 + fclose(fichierP);
  485 + fclose(fichierQ);
  486 + fclose(fichierR);
  487 + fclose(fichierS);
  488 + fclose(fichierT);
  489 + fclose(fichierU);
  490 + fclose(fichierV);
  491 + fclose(fichierW);
  492 + fclose(fichierX);
  493 + fclose(fichierY);
  494 + fclose(fichierZ);
  495 +
  496 +
80 497 return 0;
81   -
82 498 }
... ...