Ciao,
Uellalla'... non farmi così tanti complimenti che arrossisco
Veniamo alla domanda che hai posto:
Secondo queste scelte risulta chiaro da quanto mi hai spiegato che res[n-1*m] corrisponde all'elemento res[n-1,0] quindi leggo l'ultimo elemento della riga 0
In realtà secondo quanto abbiamo detto stiamo leggendo l'elemento della riga n-1, colonna 0... quello che moltiplichi è la riga (se organizzi righe per colonne - purtroppo è sempre una questione di come si interpretano le cose, l'importante è che se scrivi in un modo rileggi nello stesso modo).
La prima riga in fatti va da 0*m+0..0*m+(m-1), la seconda da 1*m+0..1*m+(m-1), ecc...
Come detto se per (a,b) indichi la coppia (colonna,riga) gli indici nell'esempio che ho postato vanno ribaltati...
In sostanza, se m è la dimensione di una riga, quello che moltiplichi per m è sempre l'indice della riga... e quello che aggiungi è l'indice della colonna. Se hai bisogno dal numero intero di ricavare gli indici l'operazione è abbastanza semplice (esattamente l'inverso di quello che fai per ottenere l'indice):
- Il numero della riga si ottiene dividendo (NB:deve essere una divisione intera) il numero per m.
- Il numero della colonna si ottiene mettendo a modulo (%) il numero con m, ovvero ottenendo il resto della divisione intera.
Immagina, con la moltiplicazione per m, di spostarti sulla riga necessaria (in "verticale" sulla nostra immaginaria griglia), e poi da li di spostarti "in orizzontale" di un certo numero di posizioni (che saranno strettamente minori di m - se sono maggiori o uguali l'effetto è quello di continuare a spostarsi sulla riga sottostante).
Ciaociao