Evo nesto sklepano na brzinu a na tebi je da proveris i ispravis greske ako ih ima:
Code:
#include <iostream>
#include <algorithm>
#include <vector>
#include <functional>
using namespace std;
int main() {
vector<int> brojevi;
int x;
//procitaj niz (sa ctrl+z ga prekidas)
while (cin >> x) {
brojevi.push_back(x);
}
//sortiraj u obrnutom redosledu ceo niz
sort(brojevi.begin(), brojevi.end(), greater<int>());
for ( vector<int>::iterator i = brojevi.begin() + 1, j = i + 1;
j < brojevi.end();
++i , j+=2) {
swap(*i, *j);
}
//sortiraj u normalnom redosledu drugu polovinu niza
sort(brojevi.begin() + brojevi.size()/2, brojevi.end());
copy( brojevi.begin(), brojevi.end(), ostream_iterator< int > ( cout, " " ) );
}
Evo ovde mozes online da vidis kako radi a mozes i da sam prepravljas i testiras online:
http://codepad.org/5ifseedb
Ako te mrzi sam da unosis brojeve onda samo umesto koda za unos brojeva ukucaj:
Code:
generate_n(back_inserter(brojevi),10,rand);
Na takmicenjima obavezno koristi vec gotove stvari koje imas u C-u i C++-u kao sto je sortiranje niza, pretraga stringova itd... I u Pascalu takodje imas vec definisan qsort(). Nauci te stvari i onda neces gubiti vreme na implementaciji trivijalnih stvari.