Sunteți pe pagina 1din 3

Matrici

Un tablou care conţine două sau mai multe linii şi două sau mai multe coloane, poartă numele de tablou
bidimensional sau matrice. Matricea este o colecţie de date ( grup, mulţime ordonată ), de acelaşi tip.

Declararea unui tablou bidimensional(matrice):

Pentru un tablou bidimensional, la declarare trebuiesc precizate două dimensiuni (numărul de linii şi numărul de
coloane).

tip nume[număr_linii][număr_coloane]
unde: tip poate fi orice tip din C
nume este un identificator C reprezintă numele tabloului
numar_linii este o expresie constantă întreagă pozitivă, reprezentând numărul de linii ale tabloului
numar_coloane este o expresie constantă întreagă pozitivă, reprezentând numărul de coloane ale
tabloului.

int a[10][10] – am declarat o matrice a care are 10 linii şi 10 coloane, elementele fiind de tip întreg
double m[5][7] - am declarat o matrice m care maxim 5 linii şi 7 coloane, elementele fiind de tip real

Exemplu

1 2 3
Matrice cu 2 linii şi 3 coloane
4 5 6

linia 0 2 3 5 6 7
linia 1 10 3 -2 3 4
linia 2 2 3 4 5 6 Matrice cu 6 linii şi 5
linia 3 6 7 8 9 10 coloane
linia 4 12 23 23 23 11 (notată M)
linia 5 2 3 4 5 6
coloana 0 coloana 1 coloana 2 coloana 3 coloana 4

M[0][1] – elementul care se află la intersecţia liniei 0 cu, coloana 1, M[0][1]=3


M[1][4] – elementul care se află la intersecţia liniei 1 cu, coloana 4, M[1][4]=4
M[3][2] – elementul care se află la intersecţia liniei 3 cu, coloana 2, M[3][2]=8

Accesarea elementelor unui tablou bidimensional(matrice):

Fiecare element al tabloului bidimensional este bine determinat de doi indici:


indicele de linie şi indicele de coloană.
Indicele de linie este o expresie întreagă pozitivă şi poate lua valori în intervalul [0 , număr_linii - 1]
Indicele de coloană este o expresie întreagă pozitivă şi poate lua valori în intervalul [0 , număr_coloane - 1]

Exemplu: Dacă dorim să utilizăm o matrice cu trei linii şi două coloane, cu elemente numere întregi cu numele
a vom declara: int a[3][2];
Introducere elemente într-un tablou bidimensional(matrice):

cout<<"Introduceti nr_linii: ";cin>>n;


cout<<"Introduceti nr_coloane: "; cin>>m;
for (i=0; i<n; i++) parcurge liniile
for (j=0; j<m; j++) parcurge coloanele
{
cout<<"m["<<i<<"]["<<j<<"]=";
cin>>m[i][j]; memoreaza valoarea in locatie
}

Afişarea elementelor dintr-un tablou bidimensional(matrice):

for (i=0; i<n; i++) parcurge liniile


{
for (j=0; j<m; j++) parcurge coloanele
cout<<m[i][j]<<" "; se afisează elementele din randul i
cout<<endl; // pentru a trece la randul i+1
}

Parcurgerea unui tablou bidimensional(matrice):

for (i=0; i<n; i++)


for (j=0; j<m; j++)
{
calcule
}

Aplicaţii:

1. Să se scrie un program C++ care introduce de la tastatură o matrice a cu n linii şi m coloane şi apoi o
afişează pe ecran.

int main()
{
int a[50][50], n, m, i,j;
cout<<"Introduceti nr_linii: ";cin>>n;
cout<<"Introduceti nr_coloane: "; cin>>m;
for (i=0; i<n; i++)
for (j=0; j<m; j++)
{
cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}
for (i=0; i<n; i++)
{
for (j=0; j<m; j++)
cout<<a[i][j]<< " ";
cout<<endl;
}
}
2. Să se scrie un program C++ care introduce de la tastatură o matrice m cu p linii şi t coloane şi calculează
suma elemntelor matricii.

int main()
{
int a[50][50], p, t, i,j;
cout<<"Introduceti nr_linii: ";cin>>p;
cout<<"Introduceti nr_coloane: "; cin>>t;
for (i=0; i<p; i++)
for (j=0; j<t; j++)
{
cout<<"a["<<i<<"]["<<j<<"]=";
cin>>m[i][j];
}
int s=0;
for (i=0; i<p; i++)
for (j=0; j<t; j++)
s=s+ m[i][j];
cout<<s;
}

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