Oppure

Loading
16/04/07 8:14
kikko_rm
ciao ragazzi sto realizzando questo programma però ho un problema sul calcolo delle frequenze non mi calcola i caratteri da 128 in poi...:-?
spero sappiate risolvere il prblema...
grazie mille in anticipo.
questo è il codice:

#include <iostream>
#include <fstream>
using namespace std;
fstream file; //variabile globale
main()
{
char percorso_file[60]; //vettore percorso file per inserimento
char c; //carattere per il cin.get
int frequenza[254]={0}; //vettore di frequenze inizializzato a 0
char ascii[254]; //vettore contenente caratteri ascii
int i; //variabile usata come indice nel vettore
cout<<"inserici il percorso file desiderato\n";
cin.getline(percorso_file,60);
cout<<"inserisci un testo terminato da '/'\n";
fstream file(percorso_file,ios::out);

while((c=cin.get()) != '/')
{
file<<c;
}
file.close();

ifstream input(percorso_file);
while (!input.eof())
{
c = input.get();
frequenza[c]++;
}
input.close();

for(i=1,ascii[0]=0x0;i<=255;i++) ascii[i]= ascii[i-1]+1;
for(i=32;i<=254;i++) cout<<ascii[i]<<" "<<frequenza[i]<<endl;
system("pause";);
}:-?
aaa
16/04/07 15:57
nikipe_silver
Basta che dichiari c come
unsigned char c;


infatti senza unsigned partiva da -128 a 127 dantoti problemi nell'array che invece permetteva indici da 0 a 253...
aaa
16/04/07 16:17
kikko_rm
grazie mille ora funziona...:k::k::k:
aaa