Así me funciona el máximo pero no el mínimo, pero no entiendo por qué :S (Cambios en líneas 23 y 26)
Código C:
Ver original#include <stdio.h>
#include <stdlib.h>
#define LNX 99999
float mx=0, mn=0, me=0;
float max(float);
float min(float);
float med(float,int,int);
main(){
int v[LNX], i=0, z=1;
float ma=0, mi=0, md=0;
FILE *fp;
fp
= fopen("doc.txt","rt");if(fp==NULL){
printf("Erro na apertura do arquivo.\n"); }
else{
mx=v[0];
do{
mn=v[0];
if (feof(fp
)!=0 || i
>=LNX
) z
=i
+1; ma=max(v[i]);
mi=min(v[i]);
md=med(v[i],i,z);
i++;
}while(feof(fp
)==0 && i
<LNX
);
printf("O maximo do arquivo e: %f\n", ma
); printf("O minimo do arquivo e: %f\n", mi
); printf("A media do arquivo e: %f\n", md
); }
}
float max(float vec)
{
if (vec>mx) mx = vec;
return mx;
}
float min(float vec)
{
if (vec<mn) mn = vec;
return mn;
}
float med(float vec, int a, int x)
{
me = (me + vec)/x;
return me;
}