2 pièce(s) jointe(s)
Calcul de moyenne à partir d'un fichier
Bonsoir,
J'ai cet exercice à faire "Supposons qu’on a un fichier « nombre.txt » contenant des nombres (séparés par des espaces ou des sauts de ligne). Ecrire un programme permettant de lire ces nombres, de calculer et d’afficher leur moyenne." .J'ai écrit mon programme mais après exécution rien ne se passe
Pièce jointe 426235
Je vous donne l'exemple du fichier sur le quel j'ai travaillé
Pièce jointe 426239
et le code de mon programme
Code:
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
| #include <stdio.h>
#include <stdlib.h>
#include <math.h>
int x(FILE *f,int *a)//retourne la somme des nombres et met dans a le nombre des nombres.
{
int n=0;
int s=0;
while (n!=EOF)
{
n=getc(f);
(*a)++;
int j=0;
while ((n!=' ')&&(n!='\n'))
{
j++;
n=getc(f);
}
if(j!=0)
{
fseek(f,-(j+1),SEEK_CUR);
n=getc(f);
for(int i=j;i>0;i--)
{
s=s+n*pow(10,i-1);
n=getc(f);
}
}
}
return s;
}
int main()
{
int r=0;
int a=-1;
FILE *f1=NULL;
f1=fopen("nombre.txt","r");
if (f1==NULL)
{
printf("probleme d'ouverture");
}
else
{
r=x(f1,&a);
printf("la moyenen est %f",(float)r/a);
}
fclose(f1);
} |
Pourriez vous m'aider à trouver le problème et merci.
ps: j'ai essayé d'exécuter l'algorithme sur papier avec des exemples et tout me semble correct .