Escolar Documentos
Profissional Documentos
Cultura Documentos
Galati 2015
Tablouri bidimensionale.
Matrici ptratice
Profesor coordonator:
Violeta Neagu
Cuprins:
1. Tema proiectului
2. Consideratii teoretice
3. Probleme tip
4. Concluzie
5. Bibliografie
1. Tema proiectului
2. Consideratii teoretice
2.1. Definirea tablourilor bidimensionale. Declarare.
Exemple.
2. 2. Reprezentarea in memoria interna. Reprezentare
matematica.
2. 3. Prelucrarea componentelor. Parcurgerea
tablorilor bidimensionale
2.4. Matrici patratice
definire
diagonala principala
diagonala secundara
zonele delimitate de diagonale
3. Probleme tip
3.1. Parcurgerea (citire/ afisare eventual din fisier)
3.2 Parcurgerea cu prelucrarea componentelor (ex.:
suma, maxim etc.)
3.3. Preclucrarea diagonalelor
a) diagonala principala
b) diagonala secundara
3.4. Zone delimitate de diagonale
a) deasupra diagonalei principale
b) sub diagonala principala
c) deasupra diagonalei secundare
d) sub diagonala secundara
e) cele 4 zone
3.5. Probleme de generare
3.6 Matrice simetrica fata de diagonala principala
3.6 Matrice simetrica fata de diagonala secundara
Enunt + rezolvari.
Declararea:
Ca i variabilele simple, variabilele tablou trebuie declarate nainte de utilizare.
Modul de declarare:
tip
nume_tablou[dim_1][dim_2][dim_n];
unde:tip reprezint tipul elementelor tabloului; dim_1,dim_2,...,dim_n sunt numere ntregi
sau expresii constante ntregi (a cror valoare este evaluat la compilare) care reprezint limitele
superioare ale indicilor tabloului.
Exemplu:
int matrice[2][3]; // declararea tabloului matrice (bidimensional),
// maximum 2 linii i maximum 3 coloane, tip int
q 13
q 23
.....
q m3
.
.
..
.
.
.
.
.
.
q 1n
.
q 2n
.........
.
q mn
Q m n
double q[3][2];
double
n memorie, elementele unei matrici sunt memorate pe linii:
q 00
q 01 q 10
q 11
q 20
q 21 . . .
Dac notm cu k poziia n memorie a unui element, valoarea lui k = i
maxim de linii, i este indicele de linie, j este indicele de coloan).
int mat[4][3] = {
{10, -50, 3},
{32, 20, 1},
{-1, 1, -2},
{7, -8, 19} };
Prin aceast construcie, elementele matricii mat se iniializeaz n modul urmtor:
mat[0][0]=10, mat[0][1]=-50, mat[0][2]=3
mat[1][0]=32, mat[1][1]=20, mat[1][2]=1
mat[2][0]=-1, mat[2][1]=1, mat[2][2]=-2
mat[3][0]=7, mat[3][1]=-8, mat[3][2]=19
La declararea unei matrici i iniializarea elementelor sale, se poate omite numrul maxim de linii, n
schimb, datorit modului de memorare, trebuie specificat numrul maxim de coloane:
int mat[][3] = {
{10, -5, 3},
{32, 20, 1},
{-1, 1, -2},
{7, -8, 9} };
Construcia are acelai efect ca precedenta.
int mat[][3] = {
{1, 1},
{ -1},
{3, 2, 1}};
int a[2][2][3]={
{ {10, 20}, {1, -1}, {3, 4}},
{ {20, 30}, {50, -40}, {11, 12}}
Citirea matricei
for(i=1;i<=m;i++)
{ for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
Afisarea matricei
return 0;
}
Definire
Este un caz particular de matrice pentru care numrul de linii este egal cu numrul de coloane.
Exemplu:
int matrice[3][3]; // declararea tabloului matrice (bidimensional),
// maximum 3 linii i maximum 3 coloane, tip int
Diagonala principala
Diagonala principal este format din elementele care ndeplinesc relaia i=j numrul liniei este
egal cu numrul coloanei pe care se afl.
Diagonala secundara
Diagonala secundar conine elementele a1,n, a2,n-1, a3,n-2, ..., an,1 caracterizate de relaia i+j=n+1.
a1
a2
a1
a1
a2
a2
a2
a2
a3
a3
a3
a3
a4
a4
a4
a4
..
..
..
..
an
an
an
an
.
.
Diagonala secundara
a1
n
.
.
a2
n
.
.
a3
Diagonala principala
.
.
a4
n
..
.
1
. an
.
n
Zonele delimitate de
diagonale
N
E
V
S
10
4. Concluzie
11
2. Bibliografie
12