Ben ritrovati iTechnoFans, oggi tratteremo per la prima volta le matrici, chiamate anche vettori bidimensionali.
Vi ricordiamo che esistono due tipi di vettori: gli array (monodimensionali) e appunto le matrici (bidimensionali).
Vediamo quindi di trattare nel dettaglio questa nuova struttura di dati.
Per gestire i vettori, utilizzavamo un indice ‘i’, che lo scorreva, e una costante che rappresentava il suo numero di celle, per nostra convenzione, la ‘N’.
I vettori bidimensionali invece, avendo due dimensioni, necessitano di due indici: ‘i’ e ‘j’, e di due costanti che stabiliscono il numero di righe e di colonne, che indicheremo con R e C.
Mettiamo a confronto le dichiarazioni:
Dichiarazione vettore monodimensionale:
const int N=10; //numero di celle del vettore
int V[N]; //dichiarazione del vettore
Dichiarazione vettore bidimensionale:
const int R=10; //numero di righe della matrice
const int C=10; //numero colonne della matrice
int M[R][C]; //dichiarazione della matrice
Come potete vedere la differenza non è poi così radicale.
Vediamo ora come caricare random un vettore monodimensionale e bidimensionale.
Ora siamo costretti ad utilizzare due indici, in quanto dobbiamo gestire due dimensioni. Introduciamo quindi oltre alla nostra ‘i’, la ‘j’.
Caricamento vettore monodimensionale:
for(i=0;i<N;i++) {
V[i]=rand()%10;
}
Caricamento vettore bidimensionale:
for(i=0;i<C;i++) {
for(j=0;j<R;j++)
{
M[i][j]=rand()%10;
}
}
NOTA BENE:
- la funzione rand() che vedete non è nulla di nuovo. E’ semplicemente in grado di generare un numero casuale. Il %10 sta a significare che dopo aver generato il numero sarà fatto il modulo di 10, che restituirà numeri da 0 a 9. (se fosse stato %50 avrebbe restituito numeri da 0 a 49).