Ciao,grazie della risposta,ma così r e c rimangono statici perchè definiti,quindi per eventuali cambi all'interno del file,dovrei modificare sempre il sorgente,invece vorrei che sia il programma stesso a calcolare di volta in volta la grandezza della matrice contenuta nel file e ad adattare il calcolo.

Ho provato a scrivere la stessa funzione che ho scritto per l'array,in "versione matrice"
così:

codice:
void leggiMatriceFile( matrice m, int &r, int &c )
{    
     int register i, j;
     
     fstream file;
     file.open( SORGENTE, ios::in );
     
     if( !file )
     {
         cout<<"Il file non esiste!\n";
     }
     else{
          r = 0;
          c = 0;
          while( file.eof() )
          {
                 file>> m[ r ][ c ];
                 r++;
                 c++;
          }
     }
                      
     for( i = 0; i < r; i++ )
     {
          for( j = 0; j < c; j++ )
          {
               cout<< m[ i ][ j ] << " ";
          }
          cout<<"\n";
     }
     file.close();

}
Ma così facendo non mi stampa niente e il risultato delle funzione somma è sempre = 0.
Potresti dirmi se si può adattare in qualche modo secondo quanto ho scritto qui,in modo che funzioni anche con la matrice oltre che con l'array?