# PBinfo #228 – genmat15 – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

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 la m, ordonate crescător;
a doua linie conţine numerele de la m+1 la 2*m, ordonate descrescător;
a treia linie conţine numerele de la 2*m+1 la 3*m, ordonate crescător;
a patra linie conţine numerele de la 3*m+1 la 4*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

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
    int n, m, mat[20][20], temp = 1;
    cin >> n >> m;
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= m; j++) {
            mat[i][j] = temp;
            temp++;
        }
    } for (int i = 1; i <= n; i++) {
        if (i % 2 == 0) {
        for (int j = m; j >= 1; j--) cout << mat[i][j] << " ";
		} else {
        for (int j = 1; j <= m; j++) cout << mat[i][j] << " "; 
    } cout << endl;
    } return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/228)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/228/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-228/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
