Pascal - массив

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

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

    progm Гость

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

    Только до меня не дойдет как сделать такой цикл. Помогите пожалуйста.
     
  2. grigsoft

    grigsoft Well-Known Member

    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    Сделай сначала простую классическую сортировку по возрастанию - а потом подправишь функцию сравнения.
     
  3. progm

    progm Гость

    Спасибо, почти получилось, только столкнулся с проблемкой... Не сортируется последний элемент массива, т.е. если он ченый все равно остается на месте. Как быть в такой ситуации?

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

    Код (Text):
    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 - массив, k элементов в массиве
     
  4. grigsoft

    grigsoft Well-Known Member

    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    Полагаю, медитация над первой строчкой кода поможет решить проблему.
     
  5. progm

    progm Гость

    Ну да, извините, поспешил спрашивать...
    А сейчас еще вопрос возник. :( Как теперь надо прописать сортировку полученного массива в таком плане:
    четные числа этого массива отсортировать по убыванию..
     
Загрузка...
Похожие Темы - Pascal массив
  1. Merry32
    Ответов:
    1
    Просмотров:
    1.194
  2. Merry32
    Ответов:
    0
    Просмотров:
    908
  3. Max69
    Ответов:
    0
    Просмотров:
    1.249
  4. avizer
    Ответов:
    5
    Просмотров:
    729
  5. Даниил
    Ответов:
    0
    Просмотров:
    817
Статус темы:
Закрыта.

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