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