👤

Se citeste un vector cu n elemente intregi. Sa se ordoneze crescator prima jumatate a vectorului si descrescator cealalta jumatate.

Răspuns :

// Nu ai specificat daca lungimea vectorului este para sau impara. In mod normal daca spui jumatatea vectorului am considerat ca n este par si am considerat jumatatea lui k = n / 2. Succes!
#include <iostream>
using namespace std;
int n,k,v[1005],aux,i;
bool ok;
int main()
{
    cin >> n;
    k = n / 2;
    for(i=1;i<=n;i++) cin>>v[i];
    do
    {
        ok=true;
        for(i=1;i<k;i++)
         if(v[i]>v[i+1])
         {
             aux=v[i];
             v[i]=v[i+1];
             v[i+1]=aux;
             ok=false;
         }
    } while (!ok);
    do
    {
        ok=true;
        for(i=k+1;i<n;i++)
         if(v[i]<v[i+1])
         {
             aux=v[i];
             v[i]=v[i+1];
             v[i+1]=aux;
             ok=false;
         }
    } while (!ok);
    for(i=1;i<=n;i++) cout<<v[i]<<" ";
    return 0;
}