Ciao a tutti... io ho il mio programma che deve richiamare in lettura un file txt. Quando lo compilo però da errore, e non capisco dove sbaglio... Grazie mille se qualcuno mi aiuta
codice:#include <stdio.h> int main() { int t; t=elia_secchiero_114087_count("train.txt"); printf("La parola contenuta piu' volte all'interno del file si ripete"); printf(" %d volte\n", t); } int elia_secchiero_114087_count("train.txt") { #include <stdlib.h> #include <string.h> #define MAX_STR 50 #define MAX_PAR 100000 typedef struct { char parola[MAX_STR+1]; int frequenza; } statistica; typedef enum {FALSE, TRUE} boolean; FILE *file_input; char parola_corrente[MAX_STR+1]; statistica elenco[MAX_PAR]; int i, lung_elenco, t; int max, i_max; boolean trovata; if((file_input=fopen("train.txt", "r"))==NULL) { printf("Errore nell'apertura del file\n"); exit(EXIT_FAILURE); } else { //printf("Sto aprendo file!\n"); lung_elenco=0; while((fscanf(file_input, "%s", parola_corrente)!=EOF)&&(lung_elenco < MAX_PAR)) { trovata=FALSE; for(i=0; i<lung_elenco&&!trovata; i++) { if(strcmp(parola_corrente, elenco[i].parola)==0) { trovata=TRUE; elenco[i].frequenza++; } } if(!trovata) { strcpy(elenco[lung_elenco].parola, parola_corrente); elenco[lung_elenco].frequenza=1; lung_elenco++; } } fclose(file_input); max = 0; for(i=0; i<lung_elenco; i++) { if(elenco[i].frequenza > max) { max = elenco[i].frequenza; i_max = i; } } t=elenco[i_max].frequenza; //printf("La parola contenuta piu' volte all'interno del file e': %s (%d ripetizioni)\n", elenco[i_max].parola, elenco[i_max].frequenza); return(t); } }


Rispondi quotando