Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Pascal - массив
Форум программистов > Системное программирование > Другие
progm
Здравствуйте уважаемые программисты, столкнулся с проблемой сортировки массива. Помогите пожалуйста понять. Ситуация такая: есть массив a[i] надо отсортировать его так, чтобы сначала шли четные, а потом нечетные числа.
Я уже пробовал, вот мои мысли:
if a[i] mod 2=0 then
{тогда этот элемент идет на первое мест, т.е. на a[1]}

Только до меня не дойдет как сделать такой цикл. Помогите пожалуйста.
grigsoft
Сделай сначала простую классическую сортировку по возрастанию - а потом подправишь функцию сравнения.
progm
Спасибо, почти получилось, только столкнулся с проблемкой... Не сортируется последний элемент массива, т.е. если он ченый все равно остается на месте. Как быть в такой ситуации?

Сортировал пузырьком. вот код:

for p:=1 to k-1 do
for i:=1 to k-p do
  if a[i] mod 2=0 then
begin
  n:=a[i-1];
  a[i-1]:=a[i];
  a[i]:=n;
end;


a[i] - массив, k элементов в массиве
grigsoft
Полагаю, медитация над первой строчкой кода поможет решить проблему.
progm
Ну да, извините, поспешил спрашивать...
А сейчас еще вопрос возник. smile.gif Как теперь надо прописать сортировку полученного массива в таком плане:
четные числа этого массива отсортировать по убыванию..
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.