macrig
04-08-2007, 15:43
ho un problema nella gestione di una matrice passata da una funzione al main:
questa è la funzione che uso per creare la matrice letta da file:
double** leggi_tutto(int righe, int colonne)
{
FILE *fd;
double valori[righe][colonne];
/* Lettura file */
fd = fopen("risultati.txt","r");
if(fd == NULL)
{
perror("Errore in apertura dal file");
exit(1);
}
int i;
int j;
for(i=0; i<righe; i++,!feof(fd)){
for(j=0; j<colonne; j++)
{
fscanf(fd, "%lf\n", &valori[i][j]);
cout << valori[i][j] << "\t";
}
cout << endl;
j++;
}
fclose(fd);
return valori;
}
Questo è il main:
int main()
{
double **prova = leggi_tutto(360,7);
cout << prova[1][0] << endl;
return 0;
}
i dati dal file vengano letti perfettamente, ma quando cerco di stamparlo nel main lo stampa errato.
Potete aiutarmi?
Grazie
questa è la funzione che uso per creare la matrice letta da file:
double** leggi_tutto(int righe, int colonne)
{
FILE *fd;
double valori[righe][colonne];
/* Lettura file */
fd = fopen("risultati.txt","r");
if(fd == NULL)
{
perror("Errore in apertura dal file");
exit(1);
}
int i;
int j;
for(i=0; i<righe; i++,!feof(fd)){
for(j=0; j<colonne; j++)
{
fscanf(fd, "%lf\n", &valori[i][j]);
cout << valori[i][j] << "\t";
}
cout << endl;
j++;
}
fclose(fd);
return valori;
}
Questo è il main:
int main()
{
double **prova = leggi_tutto(360,7);
cout << prova[1][0] << endl;
return 0;
}
i dati dal file vengano letti perfettamente, ma quando cerco di stamparlo nel main lo stampa errato.
Potete aiutarmi?
Grazie