Sunteți pe pagina 1din 3

Matricea pătrată: numărul de linii egal cu numărul de coloane

A[i][j] unde i este linia, j-coloana


Fie declarația int A[5][5]
In acest caz avem o matrice pătrata cu 5 linii si 5 coloane
Coloana Coloana Coloana2 Coloana Coloana4
0 1 3
Liniea 0 A[0][1]
Liniea 1
Liniea 2 A[2][3]
Liniea 3
Liniea 4

A[0] A[0] A[0] A[0] A[0]


[0] [1] [2] [3] [4]
A[1] A[1] A[1] A[1] A[1]
[0] [1] [2] [3] [4]
A[2] A[2] A[2] A[2] A[2]
[0] [1] [2] [3] [4]
A[3] A[3] A[3] A[3] A[3]
[0] [1] [2] [3] [4]
A[4] A[4] A[4] A[4] A[4]
[0] [1] [2] [3] [4]
Pe diagonala principala : i=j
Sub diagonala principala: i>j
Mai sus de diagonal principal : i<j

Pentru a parcurge toate elementele matricei si selectând cu if


for(i=0;i<n;i++) {for j=0;j<n;j++) if (i==j) …..}

Suma elementelor de pe diagonala principala


S=0; for(i=0;i<n;i++)
for j=0;j<n;j++) if (i==j) s=s+A[i][j];

Sub diagonala principala:


S=0; for(i=0;i<n;i++)
for j=0;j<n;j++) if (i>j) s=s+A[i][j];

Mai sus de diagonal principal :


S=0; for(i=0;i<n;i++)
for j=0;j<n;j++) if (i<j) s=s+A[i][j];
Acasa parcurgerea elementelor pe, sub si mai sus fara a parcurge toate
elementele matricei
Diagonala secundara:
A[0][0] A[0][1] A[0][2] A[0][3] A[0][4]

A[1][0] A[1][1] A[1][2] A[1][3] A[1][4]

A[2][0] A[2][1] A[2][2] A[2][3] A[2][4]

A[3][0] A[3][1] A[3][2] A[3][3] A[3][4]

A[4][0] A[4][1] A[4][2] A[4][3] A[4][4]


Pe diagonala secundară : i+j=n+1
Sub diagonala secundară: i+j n+1 //???
Mai sus de diagonal secundară : i+j n+1 //???

Pentru a parcurge
for(i=0;i<n;i++) {for j=0;j<n;j++) if (i+j==n+1) …..}

Suma elementelor de pe diagonala secundară


S=0; for(i=0; i<n; i++)
for j=0; j<n; j++) if (i+j=n+1) s=s+A[i][j];

Sub diagonala secundară:


S=0; for(i=0; i<n; i++)
for j=0;j<n;j++) if ( ) s=s+A[i][j];

Mai sus de diagonal secundară:


S=0; for(i=0; i<n; i++)
for j=0; j<n; j++) if ( ) s=s+A[i][j];

Acasa parcurgerea elementelor pe, sub si mai sus fara a parcurge toate
elementele matricei
Probleme propuse

1. Se consideră tabloul bidimensional A[1..N, 1..M], N £ 100 şi M £ 100. Scrieţi un program care pentru fiecare
linie a tabloului considerat află elementul minim şi-l înscrie în tabloul liniar B[1..N].
Intrare: Numerele N, M şi elementele tabloului A se citesc de la tastatură.

Ieşire: La ecran se vor afişa elementele tabloului B.

2. Se consideră tabloul A[1..N,1..N] de numere întregi, unde N £ 20. Scrieţi un program care va aduna la fiecare
element al tabloului valoarea elementului maxim de pe diagonala principală.
Intrare: Numărul N şi elementele tabloului se citesc de la tastatură.

Ieşire: La ecran se vor afişa elementele tabloului modificat.

3. Se consideră tabloul A[1..N,1..N] de numere întregi, unde N £20. Scrieţi un program care calculează suma
elementelor care nu se află pe diagonala secundară.
Intrare: Numărul N şi elementele tabloului se citesc de la tastatură.

Ieşire: La ecran se va afişa suma calculată.

4. Se consideră tabloul A[1..N,1..N] de numere întregi, unde, N £ 20. Scrieţi un program care calculează suma
elementelor care nu se află pe diagonala principală.
Intrare: Numărul N şi elementele tabloului se citesc de la tastatură.

Ieşire: La ecran se va afişa suma calculată.

5. Se consideră tabloul T[1..N, 1..M ] cu numere reale, N £ 20 şi M £ 20. Scrieţi un program care interschimbă cu
locurile elementul maxim de pe fiecare coloană cu elementul din prima linie a aceleiaşi coloane.
Intrare: Numerele N, M şi elementele tabloului se citesc de la tastatură.

Ieşire: La ecran se vor afişa elementele tabloului modificat

6. Se consideră tabloul T[1..N, 1..M ] cu numere reale, N £ 20 şi M £ 20. Scrieţi un program care interschimbă cu
locurile elementul maxim de pe fiecare linie cu elementul din ultima coloană şi din aceiaşi linie.
Intrare: Numerele N, M şi elementele tabloului se citesc de la tastatură.

Ieşire: La ecran se vor afişa elementele tabloului modificat

http://www.math.md/school/examene.html

S-ar putea să vă placă și