Напишите программу, которая сортирует отдельно элементы массива с чётными и нечётными

Напишите программку, которая сортирует раздельно элементы массива с чётными и нечётными значениями. Все элементы с нечётными значениями необходимо отсортировать по возрастанию, а элементы с чётными значениями по убыванию. При этом элементы каждой из групп (как чётные, так и нечётные) обязаны занимать то же огромное количество позиций в массиве, что и до сортировки.
Входные данные
1-ая строчка содержит размер массива N . Во второй строке через пробел задаются N чисел элементы массива. Гарантируется, что 0 lt; N 100000 .
Выходные данные
Программа обязана вывести все элементы отсортированного массива в одну строку, разделив их пробелами.

Задать свой вопрос
1 ответ
//Очень слабое решение, но после перерыва мне извинительно, хех.
//Pascal ABC.NET v3.1 сборка 1219

Var
 ar,arOdd,arNotOdd:array of integer;
 n,i,j,k1,k2:integer;
begin
 readln(n);
 setlength(ar,n+1);
 k1:=1;
 k2:=1;
 for i:=1 to n do
 begin
  readln(ar[i]);
  if odd(i) then
   begin
    setlength(arOdd,k1);
    arOdd[k1-1]:=ar[i];
    inc(k1);
   end
   else
   begin
    setlength(arNotOdd,k2);
    arNotOdd[k2-1]:=ar[i];
    inc(k2);
   end;
  end;
 sort(arOdd);
 sort(arNotOdd);
 reverse(arNotOdd);
 k1:=0;
 k2:=0;
 i:=0;
 while ilt;gt;n do
  begin
  inc(i);
   if odd(i) then
    begin
     ar[i]:=arOdd[k1];
     inc(k1);
    end
    else
    begin
     ar[i]:=arNotOdd[k2];
     inc(k2);
    end;
  write(ar[i],' ');
  end;
end.

Пример ввода:
5
1
2
3
4
5
Пример вывода:
1 4 3 2 5 

, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт