#include #include #include #define elementi 12 #define livello 3 int leggiFile(int); void contaSequenze(int); int checkSeq(int, int *); void scriviFiles(int); short int *valori,sequenze[1728][livello],markov[1728][elementi]; int numSeq = 0; void main() { int level,modulo=elementi; int n = leggiFile(modulo); if(n == -1) { printf("Errore!"); exit(0); } printf("%d elementi letti\n",n); level = livello; //per ora // scanf("%d",&livello); int colonne = modulo; contaSequenze(n); scriviFiles(n); } int leggiFile(int modulo) { FILE *fp; fp = fopen("ana.txt","rb"); if(fp!=NULL) { fseek(fp,0,SEEK_END);//leggiamo prima la dimensione del file long dim = ftell(fp); fseek(fp,0,SEEK_SET); valori = (short int *)calloc(dim,2);//allochiamo memoria sulla base delle dimensioni lette int i = 0,app; while(!feof(fp))//facciamo il ciclo mentre è falso che sia arrivato alla fine del file { fscanf(fp,"%u",&app); valori[i++] = app % modulo;//dentro valori di i++ mette il valore letto da input con modulo printf("%u,",valori[i-1]);//devo stare 1 in meno dopo aver fatto prima l'incremento } fclose(fp); return(i); //ritorna la dimensione del buffer valori } else return(-1); } //*********************************************+ // scorro il buffer 'valori' per caricare le sequenze nel buffer 'sequenze' void contaSequenze (int n) { int i,j,indice; for (i=0; i