Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Lectura de fichero, promedio de numeros

Estas en el tema de Lectura de fichero, promedio de numeros en el foro de C/C++ en Foros del Web. Saludos, gente, espero me puedan echar la mano y es que no logo hacer un programa, El cual deve de abrir un archivo con X ...
  #1 (permalink)  
Antiguo 03/06/2009, 09:34
Avatar de Chazam  
Fecha de Ingreso: mayo-2009
Mensajes: 14
Antigüedad: 15 años
Puntos: 0
Lectura de fichero, promedio de numeros

Saludos, gente, espero me puedan echar la mano y es que no logo hacer un programa,
El cual deve de abrir un archivo con X numero de numeros
Ejemplo:
2
3
4
5
Y debe desplegar el promedio de estos numeros y decir cuantos numeros hay en el archivo,
Y es que no logro cuajar, como hacer, para pasar ese array del archivo a un contador que me diga son X cantidad de numeros y despues sumar esos X numeros y asi dividirlos para hacer el promedio
Estoy en esta parte

Código:
 letra=getc(fichero);  // lectura del fichero
   
    while (feof(fichero)==0)
          {
         for(i=0; i>letra; i++);
         {

Se que dentro del wile deve de estar mi codigo que va a hacer mi lectura de lo que tenga el archivo hasta el final pero hay es donde no se como hacer para sacar los datos que necesito sumarlos, y hacer que despliege, el promedio.

Espero puedan ayudarme.

Saludos
  #2 (permalink)  
Antiguo 04/06/2009, 08:17
 
Fecha de Ingreso: febrero-2004
Ubicación: Buenos Aires
Mensajes: 60
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: Lectura de fichero, promedio de numeros

Para saber el numero de elementos que tiene el fichero podes recorrer una ves el archivo.

Código c:
Ver original
  1. int count=0;
  2.  while (feof(fichero)==0){
  3.           int var;
  4.           fscanf(fichero,"%d",var);
  5.           count++;
  6. }
  7.  
  8. rewind(fichero); //para situar el cursor al principio del archivo
  9.  
  10. /*Aquí va tu codigo*/

Y luego tu codigo de lectura, posiblemente tengas que declarar un array dinámicamente, pero también puedes hacer la suma para el promedio directamente.

Espero que te sirva
  #3 (permalink)  
Antiguo 04/06/2009, 21:29
Avatar de Chazam  
Fecha de Ingreso: mayo-2009
Mensajes: 14
Antigüedad: 15 años
Puntos: 0
Respuesta: Lectura de fichero, promedio de numeros

De plano no super como asi que opte por apuntadores.

Código HTML:
     //--------------------------------------------

     int  i;  //inicializamos variable de conteo

     i=0;     //= a 0:

     double promedio;  //variable para el promedio que sera con punto decimal,  

     while( (dato >> i) )  // Pasamos de dato a i

     {

         vInt.push_back(i);  // de Vector<int>VInt para pasar lo que hay dentro a (i)

     }



    vector<int>::iterator inicio = vInt.begin(); //lee los valores  de incio para el argumento (funcion) al inicio 

    vector<int>::iterator final  = vInt.end();   //lee los valores  de incio para el argumento (funcion) al final

  

    cout << "Los datos son:\n";

    while( inicio != final)  // Mientras que inicio sea  dintinto de final 

    {

       cout << *inicio << '\n';   //sacamos los valores de cada linea ( *como apuntado )

        promedio += *inicio++;   // Promedio asigna con suma el valor de inicio y se incrementa  ( como apuntador)inicio +1 ( Es el contador)

    }

cout << "La suma de los datos es: " << setprecision(5) <<promedio<<endl;; // setprecision(5) El grado de precision (5) lugres despues del punto 

cout << "Numero de datos:         " << vInt.size()     <<endl;

     promedio /= vInt.size(); // la divicion de cada uno de los datos /*inicio entre el total que sale de vInt.size()

cout << "El promedio es:          " << setprecision(5) <<promedio<<endl;; // setprecision(5) El grado de precision (5) lugres despues del punto 

     return 0;

 }
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:28.