Tablouri bidimensionale în C++
1. Introducere
Un tablou bidimensional, cunoscut și sub numele de matrice, este o structură de date care stochează o colecție de date de același tip, organizate pe linii și coloane. Este o extindere la două dimensiuni a unui tablou unidimensional, oferind o modalitate convenabilă de a organiza și manipula date complexe.
2. Declararea tablourilor bidimensionale
Pentru a declara un tablou bidimensional, se utilizează următoarea sintaxă:
C++
tip_date nume_tablou[dimensiune_linie][dimensiune_coloana];
Exemplu:
C++
int matrice[3][4]; // Matrice de 3 linii și 4 coloane de tip int
3. Accesarea elementelor
Pentru a accesa un element specific din tablou, se utilizează indicii liniei și coloanei între paranteze pătrate.
Exemplu:
C++
int element = matrice[1][2]; // Accesează elementul din linia 2, coloana 3
4. Inițializare
Există mai multe modalități de a inițializa un tablou bidimensional:
- La declarare:
C++
int matrice[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
- Cu bucle:
C++
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin>>a[i][j];
}
}
- Cu funcția
std::fill
:
C++
std::fill(matrice[0], matrice[0] + 3 * 4, 0); // Inițializează toate elementele cu 0
5. Parcurgerea tablourilor
Parcurgerea unui tablou bidimensional presupune accesarea fiecărui element din matrice, de obicei într-o ordine specifică. Există diverse metode de parcurgere:
- Parcurgere pe linii:
C++
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
// Procesează elementul matrice[i][j]
}
}
- Parcurgere pe coloane:
C++
for (int j = 0; j < m; j++) {
for (int i = 0; i < n; i++) {
// Procesează elementul matrice[i][j]
}
}
6. Exemple de utilizare
Tablourile bidimensionale sunt utilizate în diverse domenii, cum ar fi:
- Matematica: pentru a reprezenta matrice
- Grafică: pentru a stoca imagini
- Jocuri: pentru a reprezenta hărți
- Simulări: pentru a modela fenomene fizice
Exerciții:
- Scrieți un program care citește o matrice de numere întregi și afișează suma elementelor de pe diagonala principală.
- Scrieți un program care transpune o matrice (interșimbă liniile cu coloanele).
- Scrieți un program care calculează determinantul unei matrice.