int CountRows( char *filename ){
fstream file;
string s;
int r=0;
file.open("temperature.txt",ios::in);
while(!file.eof())
{getline(file,s,'\n');
r++;}
return (r);
file.close();}
No. Primo perchè non usi il parametro filename (non hai letto il mio post) e secondo perchè non chiudi il file (lo fai dopo la return, quindi mai). Dovresti scrivere:
int CountRows( char *filename ){
fstream file;
string s;
int r=0;
file.open( filename ,ios::in);
while(!file.eof())
{
getline(file,s,'\n');
r++;
}
file.close();
return (r);
}
Dopo allocato la matrice devi passare al punto 4. (riaprire il file per caricare la matrice) ovvero devi fare una funzione simile alla CountRows() che in aggiunta riceverà come parametri la matrice, il numero di righe e il numero di colonne.
Nel while(!file.eof()) di questa nuova funzione dovrai inserire la logica per saltare la prima riga e per ogni riga letta posizionarti sulla riga corretta (verificando di non andare oltre il limite delle righe allocate!).