1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
| # include <stdio.h>
# include<conio.h>
# include <io.h>
#define n 26
FILE * fiche;
unsigned occ[n];
char car[n];
unsigned l ;/* donne la largeur logique du tableau*/
int rechercher (char c, char car [])
{
unsigned i;
i=0;
while (i<l && car[i]!=c)
i++;
if (i<=l)
return i;
else
return -1;
}
void remplir()
{
char c;
unsigned i,j;
fiche=fopen("h:\fichier.dat","r");
i=0;
while ((c=(char) getc(fiche))!=EOF)
{
j=rechercher(c ,car);
if(j==-1)
{
car [i]=c;
occ[i]=1;
i++;
}
else
occ[j]++;
}
fclose(fiche);
}
float probabilite( char c, char car [])
{
unsigned i ;
unsigned somme;
unsigned indice ;/* donne l'indice du caractére c*/
indice=-1;
for(i=0;i<l;i++)
{
somme+=occ[i];
if (car[i]==c)
indice=i;
}
if (indice !=-1)
return occ[indice];/*somme*/
else
return 0;
}
void main()
{
int i;
fiche=fopen("h:\fichier.dat","w+");
fputs ("bonjour",fiche);
rewind(fiche);
remplir();
for (i=0;i<l;i++)
printf("%d",occ[i]);
fclose(fiche);
} |
Partager