ayuda c++(contar)

Iniciado por pilo312, 21 Abril 2015, 16:57 PM

0 Miembros y 1 Visitante están viendo este tema.

pilo312

Necesito contar cuantas veces se repite cada carácter de un archivo de texto por ej a=1, b=3, c=4, etc. Llevo eso pero el archivo de salida dice a= repetición de todos los caracteres, b= repetición de todos los caracteres.
Se que la función esta mal, por eso necesito ayuda si fueran tan amables, gracias.

Código (cpp) [Seleccionar]

int contar_carac()
{
    ifstream in ("in.txt");
    ofstream out("out.txt");
    char c;
    int car=0;
    while(!in.eof())
        while(in.get(c))
        if(c>=0 && c<=256)
        car++;
        for(c=0;c<126;c++)

    out<<c<<"="<<car<<endl;
    out.close();
    }

Stakewinner00

#1
if(c>=0 && c<=256) un (unsigned) char tiene 256 posibles valores y siempre estará entre 0 y 256? Que pensabas hacer?

Si quieres mirar cuantas veces se repite un carácter puedes hacer (faltaría mejorarlo)
Código (cpp) [Seleccionar]
int foo(char c, std::ifstream& file) {
int i;
while(!file.eof()){
if(file.get() == c)
 i++;
}
return i;
}