Массив

Тема в разделе "Другие", создана пользователем progm, 26 апр 2007.

Статус темы:
Закрыта.
  1. progm

    progm Гость

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

    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;

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

    Ogion7 Гость

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

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

    progm Гость

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

    Ogion7 Гость

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

    Black horse Гость

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

Поделиться этой страницей