eraser17 | et pour le code complet
Code :
- #include <stdio.h>
- #include <ctype.h>
- #define EOL '~'
- #define NMAX 1000
- struct signe
- {
- char s;
- int n;
- };
- void tri(struct signe x[100])
- {int i, perm=1;
- struct signe tmp;
- while(perm=1){
- perm=0;
- for (i=0;i<40;i++){
- if(x[i].s>x[i+1].s){
- tmp=x[i];
- x[i]=x[i+1];
- x[i+1]=tmp;
- perm=1;
- }
- }
- }
- }
- void stat(struct signe tab[100], int x)
- {int j,t,i=100,f;
- t=100/x;
- for(j=0; j<i; j++)
- {f=tab[j].n*t;
- tab[j].n=f;
- }
- }
- void main ()
- {
- FILE *texte;
- struct signe tab[100];
- char c, d, txt[40];
- int tot=0, i=0, j, test, v=0;
- //printf("\nintroduisez le nom du fichier a analyser:\n" );
- //gets(txt);
- texte=fopen ("texte.txt","r" );
- while((d=getc(texte))!=EOL)
- {
- test=1;
- tot++;
- c=tolower(d);
- for(j=0; j<i; j++)
- {
- if ((c==' ')||(c=='\n')||(c=='\t')){v++;}
- else
- {
- if (c==tab[j].s)
- {
- tab[j].n++;
- test=0;
- break;
- }
-
- if(test)
- {
- tab[i].s=c;
- tab[i].n=1;
- i++;
- }
- }
- }
- }
- //tri(tab);
- //stat(tab,tot);
- printf("\n\n\nCaractere\tNombre" );
- for(j=0; j<i; j++)
- {
- printf("\n%c\t\t%d",tab[j].s, tab[j].n);
- }
- printf("\n\nTotal de caracteres: %d\n\n", tot);
- printf("%d\n",v);
- fclose(texte);
- }
|
bon faut pardonner le faible nivo mais ca fait 10 mois qu'on avait plus toucher a la prog et on a fait ca sur le tas aujourd'hui faut le temps de s'y remettre. |