# PBinfo #241 – interclasare – Rezolvare C++

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

## Enunț

Cerinţa
Se dau două şiruri a şi b, cu n, respectiv m elemente, numere naturale, ordonate crescător. Să se construiască un al treilea şir, c, care să conţină, în ordine crescătoare, elementele din şirurile a şi b.

Date de intrare
Fişierul de intrare interclasare.in conţine pe prima linie numărul n; urmează n numere naturale, ordonate crescător, ce pot fi dispuse pe mai multe linii. Linia următoare conţine numărul m şi urmează m numere naturale, ordonate crescător, ce pot fi dispuse pe mai multe linii.

Date de ieşire
Fişierul de ieşire interclasare.out va conţine elementele şirului construit, câte 10 valori pe o linie, elementele de pe o linie fiind separate printr-un spaţiu. Ultima linie a fişierului poate să conţină mai puţin de 10 valori.

Restricţii şi precizări

1 ≤ n, m ≤ 100.000
valorile elementelor celor două şiruri vor fi mai mici decât 1.000.000

Exemplu:
interclasare.in

7
1 3 4 6
7 8 8 
8
2 4 5 6 8
9 9 12
interclasare.out

1 2 3 4 4 5 6 6 7 8 
8 8 9 9 12

## Cod sursă C++

```cpp
#include <fstream>
using namespace std;
ifstream in("interclasare.in");
ofstream out("interclasare.out");
int main() {
    int a[100001], b[100001], c[200001], n, m, k, i, j;
    in >> n; for (int i = 1; i <= n; i++) in >> a[i];
    in >> m; for (int j = 1; j <= m; j++) in >> b[j];
    i = 1; j = 1; k = 0;
    while (i <= n && j <= m) {
        if (a[i] < b[j]) c[++k] = a[i++];
        else c[++k] = b[j++];
    } while (i <= n) c[++k] = a[i++];
    while (j <= m) c[++k] = b[j++];
    for (int t = 1; t <= k; t++) {
        out << c[t] << " ";
        if (t % 10 == 0) out << endl;
    } return 0;
}
```

## Resurse

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