Informatică, întrebare adresată de margelaturosu, 8 ani în urmă

Scrieţi un program în limbajul C/C++ care citeşte de la tastatură două valori naturale n şi m
(1≤n≤24, 1≤m≤24) şi construieşte în memorie un tablou bidimensional cu n linii şi m coloane
format din toate numerele naturale de la 1 la n*m, ca în exemplu. Programul va afişa pe
ecran, pe n linii, tabloul obţinut, elementele fiecărei linii fiind separate prin câte un spaţiu.

Exemplu: pentru n=4 şi m=5 se va afişa:
1 2 3 4 5
10 9 8 7 6
11 12 13 14 15
20 19 18 17 16

Răspunsuri la întrebare

Răspuns de Lică211
2

Programul este scris in MinGW, si este verificat, poti sa-l verifici si tu :))

#include<iostream.h>

int main()

{

unsigned int n,m, a[25][25],i,j,k=1;

//citim numerele astfel incat sa fie in intervalul [1,24  ]

do{

 cout<<"n=";cin>>n;

}while(n<1||n>24);

do{

 cout<<"m=";cin>>m;

}while(m<1||m>24);

//construim matricea

for(i=1;i<=n;i++)

{

 //daca indicele matricei este impar scriem numerele in ordine

 // de la stanga la dreapta

 if(i%2==1)

 {

  for(j=1;j<=m;j++)

  {

   a[i][j]=k;

   k++;

  }

 }

 // altfel, le scriem de la dreapta la stanga

 else{

  for(j=m;j>=1;j--)

  {

   a[i][j]=k;

   k++;

  }

 }

}

// afisam matricea

for(i=1;i<=n;i++)

{

 for(j=1;j<=m;j++)

  cout<<a[i][j]<<" ";

 cout<<endl;

}

return 0;

}


Alte întrebări interesante