Ver Mensaje Individual
  #8 (permalink)  
Antiguo 07/11/2012, 08:18
ecfisa
 
Fecha de Ingreso: julio-2012
Mensajes: 133
Antigüedad: 12 años, 6 meses
Puntos: 22
Respuesta: Problema en el cálculo del mínimo de un fichero

Hola rodrigoemece.

Proba de este modo:
Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define MAX 99999
  5.  
  6. float max(int *, int);
  7. float min(int *, int);
  8. float med(int *, int);
  9.  
  10. void main(){
  11.   int v[MAX], i=0;
  12.  
  13.   FILE *fp;
  14.   fp = fopen("C:\\TMP\\doc.txt","rt");
  15.   if(fp==NULL){
  16.     printf("Error abriendo el archivo.\n");
  17.     exit(1);
  18.   }
  19.   while(!feof(fp)) fscanf(fp, "%d", &v[i++]);
  20.   fclose(fp);
  21.   printf("Numero mayor: %8.3f\n", max(v,i));
  22.   printf("Numero menor: %8.3f\n", min(v,i));
  23.   printf("Promedio    : %8.3f\n", med(v,i));
  24.   getchar();
  25. }
  26.  
  27. float max(int *v, int n) {
  28.   int i,mx=0;
  29.   for(i=0;i<n;i++)
  30.     if (v[i]> mx) mx = v[i];
  31.   return mx;
  32. }
  33.  
  34. float min(int *v, int n) {
  35.   int i, mi=MAX;
  36.   for(i=0;i<n;i++)
  37.     if (v[i]<mi) mi = v[i];
  38.   return mi;
  39. }
  40.  
  41. float med(int *v, int n) {
  42.   int i, me=0;
  43.   for(i=0;i<n;i++) me += v[i];
  44.   return (float)me/n;
  45. }

Saludos