Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - File di Testo
Forum - C/C++ - File di Testo

Avatar
XplosiveHacker (Normal User)
Newbie


Messaggi: 2
Iscritto: 24/04/2007

Segnala al moderatore
Postato alle 20:45
Mercoledì, 25/04/2007
salve a tutti, mi servirebbe una mano su questo pezzo di codice che non reisco a far funzionare:
//conteggio caratteri
int conteggio()
{

cout<<"***********************Conteggio Caratteri***********************\n\n";
ifstream file (archivio);
while(!file.eof())
{ if(file.eof());
else
{ c=file.get();
fq[c]++;
}
}
cout<<"Caratteri"<<" "<<"Frequenze\n\n";
for (c=1;c!=253;c++)
{
cout<<c<<" "<<fq[c]<<endl;
}
file.close();

}

praticamente dovrebbe farmi visualizzare le frequenze dei caratteri all'interno di un file di testo, ma 1 nn me le calcola, e 2 mi va in loop.
Potete darmi una mano ??
Grazie.

PM Quote
Avatar
cH!cus (Ex-Member)
Pro


Messaggi: 149
Iscritto: 03/04/2006

Segnala al moderatore
Postato alle 21:18
Mercoledì, 25/04/2007
Se ho capito bene deve aprire un certo file e contare quante volte le lettere compaiono? Tipo quante lettere A ci sono... quante B.... quante C ecc?

PM Quote
Avatar
XplosiveHacker (Normal User)
Newbie


Messaggi: 2
Iscritto: 24/04/2007

Segnala al moderatore
Postato alle 21:28
Mercoledì, 25/04/2007
si, è quello che fa il programma, calcola che questa è solo una funzione di tutto il programma, se vuoi te lo posto tutto quanto se è necessario...grazie!!!

PM Quote
Avatar
cH!cus (Ex-Member)
Pro


Messaggi: 149
Iscritto: 03/04/2006

Segnala al moderatore
Postato alle 12:28
Giovedì, 26/04/2007
Ho codato questo "grezzo" esempio, cmq funziona, calcola il numero di ogni occorrenza di ogni lettera e poi alla fine fa il resoconto.

Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2. #include <fstream>
  3. #include <cctype>
  4.  
  5. #define LETTERE_ALFABETO 26
  6.  
  7. using namespace std;
  8.  
  9. int main () {
  10.   char c;
  11.   int nLettere[LETTERE_ALFABETO];
  12.   ifstream is;  
  13.  
  14.   is.open("prova.txt");
  15.  
  16.   for (c=0;c < 26;c++)
  17.       *(nLettere+c) = 0;
  18.  
  19.   while (!is.eof())
  20.   {
  21.     c = is.get();
  22.    
  23.     switch(tolower(c)) {
  24.               case 'a': (*(nLettere+0))++; break;
  25.               case 'b': (*(nLettere+1))++; break;
  26.               case 'c': (*(nLettere+2))++; break;
  27.               case 'd': (*(nLettere+3))++; break;
  28.               case 'e': (*(nLettere+4))++; break;
  29.               case 'f': (*(nLettere+5))++; break;
  30.               case 'g': (*(nLettere+6))++; break;
  31.               case 'h': (*(nLettere+7))++; break;
  32.               case 'i': (*(nLettere+8))++; break;
  33.               case 'j': (*(nLettere+9))++; break;
  34.               case 'k': (*(nLettere+10))++; break;
  35.               case 'l': (*(nLettere+11))++; break;
  36.               case 'm': (*(nLettere+12))++; break;
  37.               case 'n': (*(nLettere+13))++; break;
  38.               case 'o': (*(nLettere+14))++; break;
  39.               case 'p': (*(nLettere+15))++; break;
  40.               case 'q': (*(nLettere+16))++; break;
  41.               case 'r': (*(nLettere+17))++; break;
  42.               case 's': (*(nLettere+18))++; break;
  43.               case 't': (*(nLettere+19))++; break;
  44.               case 'u': (*(nLettere+20))++; break;
  45.               case 'v': (*(nLettere+21))++; break;
  46.               case 'w': (*(nLettere+22))++; break;
  47.               case 'x': (*(nLettere+23))++; break;
  48.               case 'y': (*(nLettere+24))++; break;
  49.               case 'z': (*(nLettere+25))++; break;
  50.     }
  51.   }
  52.  
  53.   cout << "A: " << *(nLettere+0) << endl
  54.        << "B: " << *(nLettere+1) << endl
  55.        << "C: " << *(nLettere+2) << endl
  56.        << "D: " << *(nLettere+3) << endl
  57.        << "E: " << *(nLettere+4) << endl
  58.        << "F: " << *(nLettere+5) << endl
  59.        << "G: " << *(nLettere+6) << endl
  60.        << "H: " << *(nLettere+7) << endl
  61.        << "I: " << *(nLettere+8) << endl
  62.        << "J: " << *(nLettere+9) << endl
  63.        << "K: " << *(nLettere+10) << endl
  64.        << "L: " << *(nLettere+11) << endl
  65.        << "M: " << *(nLettere+12) << endl
  66.        << "N: " << *(nLettere+13) << endl
  67.        << "O: " << *(nLettere+14) << endl
  68.        << "P: " << *(nLettere+15) << endl
  69.        << "Q: " << *(nLettere+16) << endl
  70.        << "R: " << *(nLettere+17) << endl
  71.        << "S: " << *(nLettere+18) << endl
  72.        << "T: " << *(nLettere+19) << endl
  73.        << "U: " << *(nLettere+20) << endl
  74.        << "V: " << *(nLettere+21) << endl
  75.        << "W: " << *(nLettere+22) << endl
  76.        << "X: " << *(nLettere+23) << endl
  77.        << "Y: " << *(nLettere+24) << endl
  78.        << "Z: " << *(nLettere+25) << endl
  79.        << endl;
  80.        
  81.   is.close();
  82.  
  83.   system("pause");
  84.   return 0;
  85. }



Ho fatto copia & incolla dall'editor di Devcpp, deve funzionare per forza. Per provarlo basta che crei un file prova.txt, ci scrivi cosa ti pare e poi fai partire il prog.

Fammi sapè, ciau.;)

PM Quote