Documente Academic
Documente Profesional
Documente Cultură
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.
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
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):
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;
}