Rezolvare completă PbInfo #86 HalfSort

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

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema HalfSort:

#include <fstream>
#include <iostream>
#include <cstring>
using namespace std;

ifstream fin("halfsort.in");
ofstream fout("halfsort.out");

int main(){
    int n, a[105];
    fin >> n;
    for(int i=1 ; i<=n ; ++i)
        fin >> a[i];
    for(int i=1;i<n/2;++i)
        for(int j=i+1 ; j <=n/2 ; ++j)
            if(a[i]>a[j]){
                int aux = a[i];
                a[i]=a[j];
                a[j]=aux;
            }
    for(int i=n/2+1;i<n;++i)
        for(int j=i+1 ; j <=n ; ++j)
            if(a[i]<a[j]){
                int aux = a[i];
                a[i]=a[j];
                a[j]=aux;
            }
    for(int i=1 ; i<=n ; ++i)
        fout << a[i] << " ";
    fout << endl;
    return 0;
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #86 HalfSort

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #86 HalfSort de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!