Ho un file di testo così strutturato:
codice:
2
1
4 5
9
3 5
8
10 23
33
1 23
24
5 7
12
40 12
52
All'interno di un programma dovrei creare un algoritmo che salvi i primi due valori in due variabili separate e le altre righe una in una matrice e una in un'altra(entrambe dichiarate a mo' di array: tipo mat[colonne*righe], come suggerito da un utente del forum). Questo è il mio codice:
codice:
...
float es_in[n_es*n_in], es_out[n_es*n_out];
int n_es, n_in, n_out;
...
fseek(fp, 0, SEEK_SET);
	
	fscanf(fp, "%d", &n_in);
	fscanf(fp, "%d", &n_out);
	
	for(i=0;i<n_es;i++){
		for(j=0;j<n_in;j++){
			fscanf(fp, "%f", &es_in[n_es*i+j]);
			printf("%f ", es_in[n_es*i+j]);
		}
		for(j=0;j<n_out;j++){
			fscanf(fp, "%f", &es_out[n_es*i+j]);
			printf("%f ", es_out[n_es*i+j]);
		}
		printf("\n");
	}
	
	fclose(fp);
...
Quando lancio il programma, mi legge i primi 9 valori, poi va in segmentation fault. Non capisco quale possa essere il problema... Può essere che ho inizializzato male la "matrice"? Ho scelto di inizializzarla così perché in questo modo posso gestirla più facilmente in altri punti del programma.