Здравствуйте!
Замучился уже тут. Решил поднять себе настроение, и написать простенькую прогу, которую нам когда-то задавали, но не сделал тогда.
Написал, проверил - все работает как надо. Только почему-то "онлайн судья" (система проверки правильности кода, ей известно условие задачи, и она компилирует код и подставляет туда случайные значения, проверяя ответ) со мной не согласен! "Неправильный ответ" и хоть ты тресни. Проверил на куче разных чисел - все как надо.
Итак, условие:
Ввести 10 чисел, потом напечатать сначала все нечетные числа в порядке убывания, потом - все четные в порядке возрастания.
Пример:
Ввод
4 7 3 13 11 12 0 47 34 98
Вывод
47 13 11 7 3 0 4 12 34 98
Сам код:
Код:
#include<iostream>
using namespace std;
void sort_lowhigh(int array[]);
void sort_highlow(int array[]);
int main()
{
int array[10], i;
for(i=0; i<=9; i++)
cin>>array[i];
sort_highlow(array);
for (i=0; i<10; i++)
{
if(array[i]%2!=0)
cout<<array[i]<<" ";
}
sort_lowhigh(array);
for (i=0; i<10; i++)
{
if(array[i]%2==0)
cout<<array[i]<<" ";
}
cout<<endl;
return 0;
}
void sort_highlow(int array[10])
{
for(int x=0; x<10; x++)
{
for(int y=0; y<9; y++)
{
if(array[y]<array[y+1])
{
int temp = array[y+1];
array[y+1] = array[y];
array[y] = temp;
}
}
}
}
void sort_lowhigh(int array[10])
{
for(int x=0; x<10; x++)
{
for(int y=0; y<9; y++)
{
if(array[y]>array[y+1])
{
int temp = array[y+1];
array[y+1] = array[y];
array[y] = temp;
}
}
}
}
Заранее спасибо! Иду спать в херовом настроении =(