Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2014, 18:50   #1
VladKB1
Форумчанин
 
Регистрация: 21.05.2014
Сообщений: 121
Радость Сортировка чётных и нечётных (TurboPascal)

Вам даётся массив, который нужно отсортировать следующим образом:
- отсортировать по неубыванию отдельно элементы, стоящие на чётных позициях;
- отсортировать по неубыванию отдельно элементы, стоящие на нечётных позициях.

Формат ввода: в первой строке содержится n, 0<n≤10 – количество элементов в массиве. В
последующих n строках содержатся элементы массива, по одному в строке.

Формат вывода: вам нужно вывести отсортированный массив так, чтобы в каждой строке
находилось ровно одно число.

Комментарий: в программе можно использовать не больше одного массива.

input.txt
5
10
9
-1
5
3
output.txt
-1
5
3
9
10


Решать пытался, но не как не получалось

Задачу решил! Большое спасибо BDA!

Код:
var
 n,i,j,x: longint;
 a: array [0..10] of longint;
begin
 assign(input,'input.txt');
 reset(input);
 assign(output,'output.txt');
 rewrite(output);

 read(n);
 for i:=1 to n do read(a[i]);

 for i:=1 to n-1 do
 for j:=i+1 to n do
 if (odd(i) = odd(j)) and (a[i] > a[j]) then
 begin
  x:=a[i];
  a[i]:=a[j];
  a[j]:=x;
 end;
 for i:=1 to n do writeln(a[i]);
end.

Последний раз редактировалось VladKB1; 10.06.2014 в 19:45.
VladKB1 вне форума Ответить с цитированием
Старый 10.06.2014, 19:37   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Выкладывайте попытки...
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 10.06.2014, 19:37   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Код:
for i := 1 to n - 1 do
  for j := i + 1 to n do
    if (odd(i) = odd(j)) and (a[i] > a[j]) then
    begin
      //обменять a[i] и a[j]
    end;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 10.06.2014, 19:41   #4
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

BDA спасибо
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 10.06.2014, 19:43   #5
VladKB1
Форумчанин
 
Регистрация: 21.05.2014
Сообщений: 121
Радость

Цитата:
Сообщение от BDA Посмотреть сообщение
Код:
for i := 1 to n - 1 do
  for j := i + 1 to n do
    if (odd(i) = odd(j)) and (a[i] > a[j]) then
    begin
      //обменять a[i] и a[j]
    end;
Трёхкратное спасибо!
VladKB1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нахождения нечётных чисел ( java ) agentura Помощь студентам 0 09.04.2014 15:42
Создание массива и сортировка его в сред TurboPascal MaKKeY Помощь студентам 7 14.01.2011 16:59
Сумма нечётных натуральных чисел grev_4 Паскаль, Turbo Pascal, PascalABC.NET 4 17.12.2010 11:17
суммирование данных из чётных и нечётных строк (отдельно!) zetrix Microsoft Office Excel 0 30.10.2006 19:49