Bun, dupa ce am vorbit despre Matrice (Click Aici), acum o sa iau un caz particular de matrice si anume matricea patratica:
- Ce este o matrice patratica ?
-- O matrice patratica are un numar egal de randuri si coloane (Ex. a[10][10])
Prelucrarea unei matrice patratice:
O sa consideram n numar de randuri si coloane.
Prin litera "D" exemplific diagonala.
Nu uitati sa declarati variabilele de tip int "i" si "j"
a) Diagonala principala:
D 0 0 0
0 D 0 0
0 0 D 0
0 0 0 D
O putem parcurge cu un singur for:
for(i=0;i<n;i++)
//Prelucrare a[i][i]
b) Diagonala secundara:
0 0 0 D
0 0 D 0
0 D 0 0
D 0 0 0
Cu putina matematica, si aici putem sa folosim doar un for:
for(i=0;i<n;i++)
//Prelucrare a[i][n-i+]
c) Sub diagonala principala:
0 0 0 0
X 0 0 0
X X 0 0
X X X 0
Zona marcata cu X reprezinta zona de sub diagonala principala. De aceasta data o sa folosim 2 for-uri:
for(i=1;i<n;i++)
for(j=0;j<i-1;j++)
//Prelucram a[i][j]
d) Deasupra diagonalei principale:
0 X X X
0 0 X X
0 0 0 X
0 0 0 0
Din nou, zona marcata cu X reprezinta zona de sub diagonala principala. Pentru a afla elementele folosim:
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
//Prelucram a[i][j]
In urmatorul tutorial o sa acopar zona de sub diagonala secundara, deasupra diagonalei secundare si zonele Nord, Sud, Est, Vest.