Ciao a tutti,ho un problema sto risolvendo un esercizio che mi calcola la frequenza di caratteri presenti in un testo
codice:
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
int main()
{
long totale, i, temp;
unsigned char c;
float frequenze[256];
FILE*fp1;
fp1=fopen("capitolo1.txt", "r");
if (fp1==NULL)
{
printf("Non ho trovato il file.\n");
}
for (i=0; i<256; i++)
{
frequenze[i]=0;
}
totale =0;
while(fscanf(fp1, "%c", &c)==1)
{
if ((c < 0)||(c > 256))
{
printf("il carattere %c non e' fra 0-255!\n", c);
getchar();
exit(-1);
}
temp=(int)c;
frequenze[temp]=frequenze[temp]+1;
totale =totale +1;
}
for (i=1; i<256; i++)
{
frequenze[i]=frequenze[i]*100/totale;
printf("n=%ld,\t%c,freq= %f\n",frequenze[temp], c, frequenze[i]);
}
fflush(stdin);
getchar();
exit(0);
}
chi mi sa dire per favore dove sbaglio?sto diventando scemo...
sicuramente sarà una semplice cagata,ma nn riesco a trovarlo..
grazie