ÎnțelegeInfo

Matrici

Vizualizari 46

Postat luni, 23 iunie 2025

In c++, vectorii, cum ar fi int v[100];, pot sa aiba ca elemente alti vectori. Acest fel de vectori se numesc matrici, sau tablouri bidimensionale.
Un astfel de vector, indexat de la 1, ar arata asa: V=
(linie) 1
1 2 3
(linie) 2
4 5 6
(linie) 3
7 8 9
(linie) 4
10 11 12

Acesta este o matricie de 4 linii si 3 coloane. In cod, o putem defini astfel: int v[4[3]; Casutele matricii pot avea orice valoare (atat timp cat incap in memorie), de tip int, char, float etc.. In acest exemplu, am pus valorile sa reprezinte numarul casutei in "matricie".

...sau mai putem aranja matricia in forma asta, asezat pe linii si coloane:

(linie) 1
1 2 3
(linie) 2
4 5 6
(linie) 3
7 8 9
(linie) 4
10 11 12
Apoi o scriem asa...
M col. 1 col. 2 col. 3
lin. 1 1 2 3
lin. 2 4 5 6
lin. 3 7 8 9
lin. 4 10 11 12

Primu element, adica primul tablou al vectorului unidimensional V v-a fi pus pe linia 1 al vectorului M bidimensional, al doilea element pe linia 2 si tot asa. Fiecare element v-a fi asezat pe coloane.

Mai putem scrie matriciile si asa, indexate de la 0, prima valoare reprezentand numarul linii, iar a doua, numarul coloanei:
0,0 0,1 0,2
1.0 1,1 1,2
2,0 2,1 2,2
3,0 3,1 3,2

Generarea Matricii

In c++, ca sa generam orice matricie, avem nevoie de 2 foruri, i si j. i reprezinta linia si j coloana. Astfel, daca facem un for pentru i si unul pentru j, iar in casute punem ca valoare i+j, codul o sa arate asa:

int a[5][5], i,j;
for(i=0;i<10;i++)
    for(j=0;j<10;j++)
        a[5][5]=i+j;

Ok, si acum daca citim matricia, o sa vedem ca arata asa:

0 1 2 3 4 
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7

Diagonala in matricia patrata

0,0 0,1 0,2
1.0 1,1 1,2
2,0 2,1 2,2