276
Cerinţa
Scrieţi un program care citeşte de la tastatură două numere naturale n
şi m
şi construieşte în memorie o matrice cu n
linii şi m
coloane care conţine numerele naturale de la 1
la m*n
, dispuse astfel:
- prima linie conţine numerele de la
1
lam
, ordonate crescător; - a doua linie conţine numerele de la
m+1
la2*m
, ordonate descrescător; - a treia linie conţine numerele de la
2*m+1
la3*m
, ordonate crescător; - a patra linie conţine numerele de la
3*m+1
la4*m
, ordonate descrescător; - etc.
Date de intrare
Programul citește de la tastatură numerele n
şi m
.
Date de ieşire
Programul afișează pe ecran matricea construită, câte o linie a matricei pe câte o linie a ecranului, elementele fiecărei linii fiind separate prin câte un spaţiu.
Restricţii şi precizări
3≤n,m≤15
Exemplu
Intrare
4 5
Ieșire
1 2 3 4 5 10 9 8 7 6 11 12 13 14 15 20 19 18 17 16
#include <bits/stdc++.h> using namespace std; int main() { int n , m , a[20][20] , x = 1; cin >> n >> m; for(int i = 1 ; i <= n ; ++i) { for(int j = 1 ; j <= m ; ++j) { a[i][j]=x; x++; } } for(int i = 1 ; i <= n ; ++i) { if(i % 2 == 0) { for(int j = m ; j >= 1 ; --j) { cout << a[i][j] <<" "; } } else { for(int j = 1 ; j <= m ; ++j) { cout << a[i][j] <<" "; } } cout << endl; } }
Comentarii