Citirea și afișarea matricelor în C++

Am învățat în această lecție cum se declară și cum se parcurg matricele în C++. În această lecție vom învăța cum se citesc și cum se afișează pe ecran matricele pătratice.

Să ne reamintim cum arată o matrice: o matrice cu n linii și m coloane are n * m elemente, dispuse astfel:

https://i.ibb.co/TWKGsH2/image.png

Vom lucra cu matrici indexate de la 1 (adică cu elementele de la 1 la n și de la 1 la m, nu de la 0), deoarece sunt mai ușor de abordat.

Elementele matricei se parcurg linie cu linie, de sus în jos (deci de la 1 la n), iar pentru fiecare linie în parte, vom parcurge elementele acesteia (coloanele) de la 1 la m. Astfel, utilizăm două structuri repetitive for pentru a parcurge pe rând elementele matricei — ca mai apoi să le citim sau să le afișăm pe ecran.

Citirea unei matrici

Citirea matricei folosește o parcurgere pentru a lua elementele pe rând și a le citi de la tastatură. Iată un exemplu:

cin >> n >> m; //Citim dimensiunile matricei

//Citim matricea, parcurgem cum am învățat anterior
for(int i = 1; i <= n; i++)
    for(int j = 1; j <= m; j++)
        cin >> a[i][j];

Afișarea unui tablou bidimensional

Afișarea unui tablou este similară, însă după ce afișăm fiecare linie în parte, trebuie să afișăm un endl pentru a trece la următoarea linie.

//Afișăm matricea, parcurgem cum am învățat anterior
for(int i = 1; i <= n; i++) {
    for(int j = 1; j <= m; j++)
        cout << a[i][j] << " ";
    cout << endl;
}

Program complet în C++

Iată un cod în C++ care citește de la tastatură o matrice și o afișează pe ecran:

#include <iostream>

using namespace std;

int n, m, a[101][101]; //n = nr linii, m = nr coloane, a = matricea

int main()
{
    cin >> n >> m; //Citim numărul de linii și de coloane

    //Citim matricea
    for(int i = 1; i <= n; i++) {
        for(int j = 1; j <= m; j++) {
            cin >> a[i][j];
        }
    }

    //Afișăm matricea
    for(int i = 1; i <= n; i++) {
        for(int j = 1; j <= m; j++) {
            cout << a[i][j] << " ";
        }
        cout << "\n";
    }
    return 0;
}

Probleme propuse

Setul de probleme 151 nu a fost găsit.

Alte resurse sau bibliografie

DS

Autorul acestei lecții

Dominic Satnoianu

Această lecție a fost redactată de către Dominic Satnoianu.

© 2021 – 2025 Aspire Education Labs SRL. Toate drepturile rezervate.

Așa cum este specificat și în termeni și condiții, conținutul acestei pagini este protejat de legea drepturilor de autor și este interzisă copierea sau modificarea acestuia fără acordul scris al autorilor.

Încălcarea drepturilor de autor este o infracțiune și se pedepsește conform legii.

Comentarii 0

Autentifică-te pentru a putea comenta.

Autentifică-te