Documente Academic
Documente Profesional
Documente Cultură
Tablouri - Bidimensionale
Tablouri - Bidimensionale
Declararea:
tip_data nume [nr_1] [nr_2];
tip_data – tipul elementelor tabloului
nume – identificatorul tabloului
nr_1, nr_2 – două constante întregi, care specifică numărul de
elemente ale matricei pentru fiecare dimensiune : nr_1- numărul de
linii, nr_2 - numărul de coloane.
Declararea|Exemple:
int a[2][4] // matricea a este formată din 8 elemente de tip int, care
are 2 linii și 4 coloane;
float b[3][5]; // matricea b este formată din 15 elemente de tip float,
care are 3 linii și 5 coloane;
int x [10][10], y[100][100]; // au fost declarate două matrici pătratice.
Inițializarea:
tip_dată nume [nr_elemente]={listă_valori};
,,=’’ – separă partea de declarare a vectorului de partea de inițializare
a elementelor lui
{ … } – perechea de separatori se folosește pentru a delimita lista de
valori
listă_valori – conține valorile inițiale ale elementelor, separate prin
caracterul virgulă.
Inițializarea|Exemple:
int a[2][4]={1,2,3,4,5,6,7,8};
int a[2][4]={(1,2,3,4),(5,6,7,8)};
Matrice-Patratica
Exemple:
int t[3][3]
t[0][0] = 1 t[1][0] = 5 t[2][0] = 9 t[3][0] = 13
t[0][1] = 2 t[1][1] = 6 t[2][1] = 10 t[3][1] = 14
t[0][2] = 3 t[1][2] = 7 t[2][2] = 11 t[3][2] = 15
t[0][3] = 4 t[1][3] = 8 t[2][3] = 12 t[3][3] = 16
0 1 2 3
0 1 2 3 4
1 5 6 7 8
2 9 10 11 12
3 13 14 15 16
- Diagonala principala formula-t[i][i]
- Diagonala secundara formula-t[i][n-i-1]
Cod:
int i, n, m, t[4][4]; // se declara variabilele i și j pentru indicile
elementului
i – numărul liniei
j – numărul coloanei
n și m - pentru lungimea logica a matriciei (n – numărul de linii și m
– numărul de coloane)
Coloane:cout<<”n=“; cin>>n; // se citeste numărul de linii ale
matricei Randurile:cout<<”m=“; cin>>m; // se citeste numărul de
coloane ale matricei
------------------------------------------------------------------------------------
Citire:
for (i=0; i<n; i++) for (j=0; i<m; j++) cin>>m[i][j];
Afisare:
for (i=0; i<n; i++) for (j=0; i<m; j++) cout<<m[i][j];
Exemple
1.Citirea și afișarea elementelor tabloului:
#include <iostream>
using namespace std;
int main()
{
int t[100][100], n, m, i, j;//Declaram variabelele
cout << "Numarul de linii:"; cin >> n;//citim numarul de linii
cout << "Numarul de coloane:"; cin >> m;//citim numarul de coloane
Rezultat:
2.Interschimbam elementele de pe diagonala principala cu cele
depe diagonala secundara:
#include <iostream>
using namespace std;
int main()
{
int t[100][100], n, i, j, k;//Declaram variabelele
cout << "Nr. linii = nr. coloane = "; cin >> n;//citim nr. de coloane
si de randuri care trebue sa fie egale
for (i = 0; i < n; i++)//parcurgerea rindurilor
for (j = 0; j < n; j++)//parcurgerea coloanelor
{
cin >> t[i][j];//citim elementele
}
Rezultat:
3.Determinam suma elemtelor de pe fiecare coloana,afisam
coloana suma elementelor care-ia este maxima:
#include <iostream>
using namespace std;
int main()
{
int t[100][100], n, m, i, j, sum, poz = 0, max = 0;//Declaram
variabelele
cout << "Nr. linii = "; cin >> n;//citim nr. de coloane
cout << "Nr. coloane = "; cin >> m;//citim nr. de randuri
for (i = 0; i < n; i++)//parcurgerea rindurilor
for (j = 0; j < m; j++)//parcurgerea coloanelor
{
cin >> t[i][j];//citim elementele
}
}
Rezultat:
4.Determinam:
Suma elementelor matricei
Formam un nou vector din elementele maximale pe randuri
Elementul maximal si pozitia lui
#include <iostream>
using namespace std;
int main()
{
int t[100][100], vec[100], n, m, i, j, sum = 0 , p_i, p_j, max =
0;//Declaram variabelele
cout << "Nr. linii = "; cin >> n;//citim nr. de coloane
cout << "Nr. coloane = "; cin >> m;//citim nr. de randuri
for (i = 0; i < n; i++)//parcurgerea rindurilor
for (j = 0; j < m; j++)//parcurgerea coloanelor
{
cin >> t[i][j];//citim elementele
}