#include #include // per convertire da ascii a floating point #include // #include #include //variabili e funzioni globali void leggiMatrici(char *,char *); int searchSeq(short int *); int generaSporco(void); short int calcolaNuovoStato(int); void creaRipartizione(void); void normalizza(void); float **matrice,**ripartizione; //puntatore a puntatori (un vettore di puntatori) short int **sequenze; //puntatore a puntatori (un vettore di puntatori) int righe, colonne, livello; // char *note[]={"DO","DO#","RE","RE#","MI","FA","FA#","SOL","SOL#","LA","LA#","SI"}; void main() { //**dichiarazione variabili char filename[80]="greg.txt",filehdr[80]="greg.hdr",fileout[80]; //puntatore di gets e short int startSeq[] = {7,5,9},seq[100]; //inizializzazione del vettore dimensionato a 3 elementi int stato,seqlen=100,startPoint,i; srand((unsigned int)time(NULL)); //inizializzazione seme gen. casuale (nel main per non cambiare ogni volta seme, come succederebbe nel sottoprogramma) //************** //**APERTURA del file Probabilità e del file Header (righe, colonne e sequenze) //************** printf ("nome file occorrenze: "); //per inserire il nome da tastiera gets (filename); //per leggere il nome del file contenuto nell'array filename printf ("nome file header: "); //per inserire il nome da tastiera gets (filehdr); //per leggere il nome del file contenuto nell'array filename printf ("nome file di uscita: "); //per inserire il nome da tastiera gets (fileout); //per leggere il nome del file contenuto nell'array filename //apertura file leggiMatrici(filename,filehdr); normalizza(); creaRipartizione(); //GENERAZIONE DELLE SEQUENZE for(i=0;i= numero) { stato = i; break;// se lo trova non va avanti } } return(i); } void creaRipartizione() { int i,j; float accu; for(i=0;i