Io sono abituato ad intendere m x n come m righe per n colonne. E questa abitudine direi che deriva dai libri di matematica.
Beh, il fatto di allocare prima le colonne e poi le righe .. dipende. L`importante e` che _prima_ allochi un array di puntatori e che poi in ciascun puntatore di tale array allochi un array di valori. Sta a te poi vedere quali considerare le righe e quali le colonne. In C sara` sempre e cmq un array di array.
Una cosa pero` resta fissa. Il primo indice e` ovviamente quello dell`array di puntatori, e il secondo quello dei "sotto-array". Di conseguenza, nel tuo codice la matrice avra` n righe ed m colonne.
Scorrimento n x m:
Scorrimento m x n:codice:for( i = 0; i < n; ++i ) for( j = 0; j < m; ++j ) scanf( "%f", &a[ i ][ j ] );
Come vedi puoi facilmente capovolgere il punto di vista, leggendo la trasposta.codice:for( j = 0; j < m; ++j ) for( i = 0; i < n; ++i ) scanf( "%f", &a[ j ][ i ] );
Ciao.


Rispondi quotando