Citirea/afisarea elementelor unei matrice



Matrice indexata de la 0

#include <iostream>

using namespace std;

int main()
{
   int nr_linii, nr_coloane;

   // sa zicem ca putem avea maxim 100 de linii si maxim 100 de 50 de coloane
   // numerotarea liniilor si a coloanelor va fi de la 0

   int mat[100][50]; //se vor aloca 100*50=5000 spatii in memorie
   int i, j;

   // citirea se face linie cu linie, de la stanga la dreapta, element cu element

   cin>>nr_linii>>nr_coloane;
   for(i=0;i<nr_linii;i++) // citim cate o linie
      for(j=0;j<nr_coloane;j++) // pentru fiecare linie vom citi elementele acesteia
         cin>>mat[i][j];

   // ca sa le afisam, o vom face linie cu linie, fiecare linie fiind pe un rand al ecranului

   for(i=0;i<nr_linii;i++)
   {
      //afisam cate o linie
      for(j=0;j<nr_coloane;j++)
         cout<<mat[i][j]<<' '; // le afisam separate prin spatii
         
      // dupa ce am afisat o linie trecem la un rand nou
      cout<<'\n'; //sau cout<<endl;
   }
}

Explicatie:

- citim cate linii si cate coloane va avea matricea noastra
- deoarece numerotarea liniilor si a coloanelor se realizeaza de la 0, vom citi liniile cu indice 0, 1, 2, ..., nr_linii-1 si coloanele cu indice 0, 1, 2, ..., nr_coloane-1
- afisarea are loc asemanator cu citirea




Matrice indexata de la 1

#include <iostream>

using namespace std;

int main()
{
   int nr_linii, nr_coloane;

   // sa zicem ca putem avea maxim 100 de linii si maxim 100 de 50 de coloane
   // numerotarea liniilor si a coloanelor va fi de la 1 pentru a pune linia i
   // pe pozitia i, si nu pe pozitia i-1, cum se face in cazul numerotarii de la 0

   int mat[101][51]; //am adugat 1 deoarece la fel ca la vectori linia 0/coloana 0 exista dar este ignorata
   int i, j;
   cin>>nr_linii>>nr_coloane;
   for(i=1;i<=nr_linii;i++)
      for(j=1;j<=nr_coloane;j++)
         cin>>mat[i][j];
   for(i=1;i<=nr_linii;i++)
   {
      for(j=1;j<=nr_coloane;j++)
         cout<<mat[i][j]<<' ';
      cout<<'\n';
   }
}

Explicatie:

- citim cate linii si cate coloane va avea matricea noastra
- indexand de la 0, va trebui sa crestem numarul de linii si de coloane pe care le poate avea matricea, deoarece linia 0 si coloana 0 exista, dar sunt ignorate
- deoarece numerotarea liniilor si a coloanelor se realizeaza de la 1, vom citi liniile cu indice 1, 2, ..., nr_linii si coloanele cu indice 1, 2, ..., nr_coloane
- afisarea are loc asemanator cu citirea