Como cuento cuantos numeros tiene un archivo en (C)

Iniciado por andie13, 12 Noviembre 2016, 17:51 PM

0 Miembros y 2 Visitantes están viendo este tema.

andie13

Hola, me gustaría saber cómo determino la cantidad de numeros que tiene un archivo de texto. Ejemplo: 2 3 14 67 12, "5".

engel lex

muestra lo que llevas y explica en donde tienes dudas en el codigo
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

andie13

A ver, en realidad es un ejercicio de clase, y especificando, lo que hay que hacer es abrir un fichero con N numero reales e imprimir en otro esos numeros reales divididos entre N.
Como sé que no se hacen tareas en el foro, mi duda solo abarca la parte que me permita determinar cuantos numeros tiene el fichero, porque siempre me da mal.

El codigo completo es el siguiente:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

float numeros(float n[]){
    int i,a=0;
    float resultado;
    for(i=0;n[i]!='\0';i++){
        a=n[i];
        resultado=a;
    }
    return(resultado);
}

int main(int argc, char** argv){
    FILE *fp;
    int i=0,cont=0,a,b,tam;
    float vector[200];
   
    fp=fopen("entrada8.txt","r");
   
    if(fp==NULL){
        printf("ERROR.\n");
        exit(1);
    }
    else{
        printf("El contenido del archivo es:\n");
        while (feof(fp) == 0){ // o bien (!feof(fp))   
           
            fgets(vector,200,fp);     
            puts(vector);
        }
    }
   
    FILE *fp1;
    fp1=fopen("salida8.txt","w"); 
        if(fp1==NULL){
     
        printf("ERROR.\n");
        exit(1);
    }
    while(vector[i]!='\0'){
        if(vector[i]!=' '){
            cont++;
        }
        i++;
    }

    fprintf(fp1,"numero %d",cont);
    a=numeros(vector);
    fprintf(fp1,"\nO archivo tiene %f",a/cont);
   
   
   
    fclose(fp);
    fclose(fp1);
}
   
   


MRx86

como que te da mal, no se compila?, da un numero diferente? explicate mejor...
"Tengo una pregunta que a veces me tortura: ¿Estoy loco
yo, o los locos son los demas?"
- Albert Einstein