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).

impariamo a programmare

 

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).