Sorry že sa tu znovu pýtam, ale potreboval by som opäť poradiť :o)) Potreboval by som vytvoriť algoritmus, ktorý špecificky zoradí hodnoty (výšky chlapcov). Výstup by mal obsahovať zoradené hodnoty - príklad:
700 -- 500 -- 200
400 -- 300 -- 100
V každom rade musia byť zoradení podľa veľkosti (najväčší stojí naľavo). V každej za sebou stojacej dvojici musí byť predný chlapec taky vysoký ako ten za tím, alebo menší.
Vstup obsahuje celé číslo N. Chlapcov je 2N. Nasleduje 2N riadkov - každý riadok obsahuje číslo - výšku chlapca a nanometroch. (čísla sú medzi 1 a 2 000 000 000). Výstup obsahuje 2 N riadkov - výšky chlapcov - zľava doprava. Výstup k predtým uvedenom príklade:
700
500
200
400
300
100
Zatiaľ som vytvoriť toto a neviem ako ďalej :(
#include <iostream>
#include <stdlib.h>
using namespace std;
int porovnaj (const void * a, const void * b)
{
return ( *(int*)a - *(int*)b );
}
long int vstup;
int main(void)
{
cin >> vstup;
vstup *=2;
int* chlapci = new int[vstup];
for (int i=0; i<vstup; i++)
{
cin >> chlapci[i];
}
qsort (chlapci, vstup, sizeof(int), porovnaj);
//výstup má byť tu - poradie chlapcov
system("PAUSE");
return 0;
}
Ďakujem : ))