Tablouri bidimensionale în C++

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:

  1. Scrieți un program care citește o matrice de numere întregi și afișează suma elementelor de pe diagonala principală.
  2. Scrieți un program care transpune o matrice (interșimbă liniile cu coloanele).
  3. Scrieți un program care calculează determinantul unei matrice.