Matrici
Vizualizari 199
Postat luni, 23 iunie 2025
Matricie Vizualizata
Dupa ce ai citit acest articol, incearca sa modificai expresia if si vezi ce elemente corespund acesteia ca sa exersezi ce ai invatat!
Ce sunt matriciile?
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[1]
|
v[2]
|
v[3]
|
v[4]
|
---|
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:
|
Apoi o scriem asa... |
|
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 o matricie, trebuie sa folosim 2 foruri, unul pentru linie si unul pentru coloana. Variabila i reprezinta linia si variabila j coloana unui element in matricie.
Ca exemplu, putem genera o matricie, iar elementele matriciei vor avea valoarea i + j:
// int a[5][5], i,j; for(i=0;i<5;i++) for(j=0;j<5;j++) a[i][j]=i+j;
Parcurgem fiecare coloana (j) de pe fiecare linie (i) a matricii a, iar in casuta elementului [i][j] "scriem" valoarea lui i + j. Asa v-a arata matricia:
0 | 1 | 2 | 3 | 4 |
---|---|---|---|---|
1 | 2 | 3 | 4 | 5 |
2 | 3 | 4 | 5 | 6 |
3 | 4 | 5 | 6 | 7 |
4 | 5 | 6 | 7 | 8 |
Momentan, matricea se afla doar in memorie. Asa ca trebuie s-o si citim, ca s-o afisam pe ecran:
// int a[5][5], i,j; for(i=0;i<5;i++) { for(j=0;j<5;j++) cout << a[i][j] << " "; cout << endl; }
Programul complet de generare si citire a unei matrici:
// Compilator C++ online | intelegeinfo.ro #includeDeschide in editorusing namespace std; int main() { int i,j,a[5][5]; for(i=0;i<5;i++) for(j=0;j<5;j++) a[i][j]=i+j; for(i=0;i<5;i++) { for(j=0;j<5;j++) cout << a[i][j] << " "; cout << endl; } return 0; }
Matricia patrata
Dupa cum sugereaza si numele, matricia patratica este o matricie care are acelasi numar de randuri si coloane, formand un patrat. Acestea au niste proprietati speciale.
Diagonala in matricia patrata
- Diagonala principala i==j
- Diagonala secundara i+j==n-1
0,0 | 0,1 | 0,2 |
---|---|---|
1.0 | 1,1 | 1,2 |
2,0 | 2,1 | 2,2 |