# PBinfo #86 – halfsort – Rezolvare C++

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

## Enunț

Se dă un vector cu n elemente numere întregi, n fiind număr par.

Cerinţa
Să se ordoneze crescător elementele din prima jumătate a vectorului și descrescător elementele din a doua jumătate.

Date de intrare
Fişierul de intrare halfsort.in conţine pe prima linie numărul n si pe a doua linie n numere întregi separate prin spaţii.

Date de ieşire
Fişierul de ieşire halfsort.out va conţine pe prima linie cele n elemente ale vectorului, ordonate conform cerinței, separate printr-un spațiu.

Restricţii şi precizări

1 ≤ n ≤ 100, n număr par
valoarea absolută a numerelor de pe a doua linie a fişierului de intrare va fi mai mică decât 1.000.000.000

Exemplu:
halfsort.in

6
8 2 9 4 5 7
halfsort.out

2 8 9 7 5 4

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
using namespace std;
ifstream in("halfsort.in");
ofstream out("halfsort.out");
int main() {
    int n, vec[105]; in >> n;
    for (int i = 1; i <= n; i++) in >> vec[i];
    for (int i = 1; i < n / 2; i++)
        for (int j = i + 1; j <= n / 2; j++)
            if (vec[i] > vec[j]) {
                int temp = vec[i];
                vec[i] = vec[j];
                vec[j] = temp;
            }
    for (int i = n / 2 + 1; i < n; i++)
        for (int j = i + 1; j <= n; j++)
            if (vec[i] < vec[j]) {
                int temp = vec[i];
                vec[i] = vec[j];
                vec[j] = temp;
            }
    for(int i = 1; i <= n; i++)
        out << vec[i] << " ";
    out << endl;
    return 0;
}
```

## Resurse

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