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

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.
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;
}