Массив

  • Автор темы progm
  • Дата начала
Статус
Закрыто для дальнейших ответов.
P

progm

#1
Здравствуйте товарищи программисты, опять столкнулся с проблемой сортировки...
Мне надо было отсортировать массив так, чтобы сначала шли четные числа, а потом нечетные, но что-то не выходит, посмотрите пожалуйста код, в чем ошибка:

for p:=1 to x do
for h:=1 to x-1 do
if c[h] mod 2=0 then
begin
n:=c[h-1];
c[h-1]:=c[h];
c[h]:=n;
end;

У меня получается что последний элемент массива остается на своем месте(последнем) и за счет этого в отсортиованном массиве теряется одно число...
 
O

Ogion7

#2
ниче понять не могу. Зачем первый цикл?

если х это размер массива -- еще бы оно не терялось, Вы массив не до конца просматриваете
 
P

progm

#3
всмысле не до конца? Пытался делать сортировку пузырьком...
 
O

Ogion7

#4
угу, понял -- в паскале индексация массива вроде с 1. По идее во внутреннем цикле надо идти от 2 до х, и последний элемент будет обрабатываться
 
B

Black horse

#5
Это очень не рациональный алгоритм. Я бы не принял... Большая сложность
 
Статус
Закрыто для дальнейших ответов.