Citirea și afișarea elementelor

După ce am declarat o matrice, trebuie să îi citim valorile și, mai târziu, să le afișăm. Spre deosebire de un vector, unde o singură structură repetitivă era suficientă, o matrice are două dimensiuni, așa că vom folosi două bucle imbricate: una pentru linii și una pentru coloane.

Citirea elementelor

Pentru a citi o matrice avem nevoie să cunoaștem numărul de linii n și de coloane m. Citirea se face, de obicei, pe linii: parcurgem fiecare linie și, pentru fiecare linie, citim câte un element de pe fiecare coloană.

int a[101][101], n, m;
cin >> n >> m;
for (int i = 0; i < n; i++)
    for (int j = 0; j < m; j++)
        cin >> a[i][j];

Bucla exterioară (cu indicele i) trece prin fiecare linie, iar pentru fiecare valoare a lui i bucla interioară (cu indicele j) parcurge toate coloanele. Astfel ajungem, pe rând, la fiecare poziție a[i][j] și citim cele n * m elemente.


Publicitate

Afișarea elementelor

Afișarea folosește aceeași schemă de bucle imbricate. Diferența este că, după ce am afișat toate elementele unei linii, trecem la o linie nouă pe ecran, ca să păstrăm forma de tabel a matricei:

int a[101][101], n, m;
// ...
for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++)
        cout << a[i][j] << ' '; // elementele unei linii, separate prin spatiu
    cout << '\n';               // linie noua dupa fiecare rand
}

Elementele de pe aceeași linie sunt separate printr-un spațiu, iar instrucțiunea cout << '\n';, plasată după bucla interioară, trece la rândul următor după fiecare linie a matricei. În interiorul buclelor putem adăuga condiții, dacă vrem să afișăm numai anumite elemente, de exemplu doar cele de pe o linie sau coloană.