2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 По-моему идеальная программа не проходит проверку
Сообщение14.12.2008, 20:15 
Здравствуйте!

Замучился уже тут. Решил поднять себе настроение, и написать простенькую прогу, которую нам когда-то задавали, но не сделал тогда.

Написал, проверил - все работает как надо. Только почему-то "онлайн судья" (система проверки правильности кода, ей известно условие задачи, и она компилирует код и подставляет туда случайные значения, проверяя ответ) со мной не согласен! "Неправильный ответ" и хоть ты тресни. Проверил на куче разных чисел - все как надо.

Итак, условие:
Ввести 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;
         }
      }
   }
}


Заранее спасибо! Иду спать в херовом настроении =(

 
 
 
 
Сообщение14.12.2008, 23:37 
agrizokh в сообщении #167637 писал(а):
Написал, проверил - все работает как надо. Только почему-то "онлайн судья" (система проверки правильности кода, ей известно условие задачи, и она компилирует код и подставляет туда случайные значения, проверяя ответ) со мной не согласен! "Неправильный ответ" и хоть ты тресни.
Да ладно, еще на онлайн судей обижаться. Может у него она и не скомпилилась вовсе, а может ему лишний пробел в конце вывода не понравился. Программа на вид нормальная, хоть и детская (сортировать можно и пооптимальнее). Да, кстати, совсем не обязательно было пересортировывать массив второй раз. Можно было при выводе четных чисел просто пробежать его с конца в начало.

 
 
 
 
Сообщение23.12.2008, 23:46 
А где ви такого умного онлайн судю нашли которий с терминала читает? Я даже не представляю каким методом ето можна зделать.
Ведь перенаправлять вивод можна только изнутри.

 
 
 
 
Сообщение27.12.2008, 02:23 
Nerazumovskiy писал(а):
А где ви такого умного онлайн судю нашли которий с терминала читает? Я даже не представляю каким методом ето можна зделать.
Вед перенаправлять вивод можна только изнутри.

Как одна программа может читать вывод другой? В *nix:
Prog1.exe | sudya.exe > results.txt

 
 
 
 
Сообщение27.12.2008, 09:24 
Цитата:
Вед перенаправлять вивод можна только изнутри.

На то они и потоки ввода-вывода, чтобы их перенаправлять :). Средства для этого есть и в ms-dos, и в windows, и в *nix.

 
 
 [ Сообщений: 5 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group