Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/11/2012, 18:52
Avatar de rodrigoemece
rodrigoemece
 
Fecha de Ingreso: septiembre-2011
Mensajes: 68
Antigüedad: 12 años, 7 meses
Puntos: 1
Información Problema en la cabecera de las funciones (C)

¿Podría un alma caritativa decirme que error he cometido? El programa recoge de un archivo números, los guarda en un vector y calcula el máximo, la media y el mínimo. Gracias por vuestra atención y un saludo.

Código C:
Ver original
  1. #include <stdio.h>
  2. #define LNX 99999
  3.  
  4. float max(float,int);
  5. float min(float,int);
  6. float med(float,int);
  7.  
  8. main(){
  9.   int i=0;
  10.   float v[LNX];
  11.   FILE *fp;
  12.  
  13.   fp = fopen("doc.txt","rt");
  14.   if(fp==NULL) {
  15.     printf("Erro na apertura do arquivo.\n");
  16.     exit(1);
  17.   }
  18.   else
  19.   {
  20.     while(feof(fp)==0)
  21.         {
  22.             fscanf(fp, "%d", &v[i]);
  23.             if(feof(fp)==0)
  24.             i++;
  25.         }
  26.   printf("O maximo do arquivo e: %f\n", max(v[i],i));
  27.   printf("O minimo do arquivo e: %f\n", min(v[i],i));
  28.   printf("A media do arquivo e: %f\n", med(v[i],i));
  29.   fclose(fp);
  30.   }
  31. }
  32.  
  33. float max(float *vec, int x) {
  34.     float mx=0;
  35.     int z=0;
  36.     mx=vec[0];
  37.     while(z<x)
  38.     {
  39.         if (vec[z]>=mx)
  40.             mx=vec[z];
  41.         z++;
  42.     }
  43.     return(mx);
  44. }
  45.  
  46. float min(float *vec, int x) {
  47.     float mn=0;
  48.     int z=0;
  49.     mn=vec[0];
  50.     while(z<x)
  51.     {
  52.         if (vec[z]<=mn)
  53.             mn=vec[z];
  54.         z++;
  55.     }
  56.     return(mn);
  57. }
  58.  
  59. float med(float *vec, int x) {
  60.     float md=0, suma=0;
  61.     int z=0;
  62.     while(z<x){
  63.         suma=suma + vec[z];
  64.         z++;
  65.     }
  66.     md=suma/z;
  67.    
  68.     return (md);
  69. }