Salve a tutti, devo realizzare un programma che legga da file una matrice, e restituisca data una colonna l'indice di riga col numero pi� alto.
Il mio prof valuta molto bene l'uso di una matrice dinamica, per cui mi stavo esercitando nell'usarle.
detto questo il mio codice � formato da tre funzioni.
Il main
la funzione leggi(che legge la matrice da file)
e la funzione mat_dim(che crea una matrice dinamica una volta lette numero di colonne e righe)
[code]
codice:
void mat_dim(int **mat, int *r, int *c)
{
printf("%d %d", *r, *c);
int i=0;
//int j;
mat=malloc(*r*sizeof(int*));
while(i<*r){
mat[i]=malloc(*c*sizeof(int));
i++;
}
}
void leggi(int **mat, int *r, int *c){
int i;
int j;
FILE *read;
if ((read=fopen("campionato.txt", "r"))==NULL){
printf("Impossibile aprire file 'Campionato.txt'\n");
}
else{
fscanf(read, "%d", &r);
fscanf(read, "%d", &c);
}
mat_dim(&r,&c);
//prova inserimento dati e stampa matrice
//lettura matrice da file
/*i=0;
j=0;
while(i<*r){
while(j<*c){
fscanf(read, "%d", &mat[i][j]);
j++;
}i++;
}*/
fclose(read);
}
Il codice e' sprovvisto di lettura di dati da file perche' appena termina la chiamata di funzione mat_dim, il programma crasha e non capisco il motivo, anche il semplice inserimento di dati all'interno della matrice causa un crash, ma questo non succede se l'inserimento dei dati e la stampa viene fatto all'interno della funzione mat_dim