Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: pilo312 en 21 Abril 2015, 16:57 pm



Título: ayuda c++(contar)
Publicado por: pilo312 en 21 Abril 2015, 16:57 pm
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
  1. int contar_carac()
  2. {
  3.    ifstream in ("in.txt");
  4.    ofstream out("out.txt");
  5.    char c;
  6.    int car=0;
  7.    while(!in.eof())
  8.        while(in.get(c))
  9.        if(c>=0 && c<=256)
  10.        car++;
  11.        for(c=0;c<126;c++)
  12.  
  13.    out<<c<<"="<<car<<endl;
  14.    out.close();
  15.    }


Título: Re: ayuda c++(contar)
Publicado por: Stakewinner00 en 21 Abril 2015, 17:24 pm
Código:
 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
  1. int foo(char c, std::ifstream& file) {
  2. int i;
  3. while(!file.eof()){
  4. if(file.get() == c)
  5.  i++;
  6. }
  7. return i;
  8. }