IPB
ЛогинПароль:

> ПРАВИЛА РАЗДЕЛА!!!

1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!

> Сортировка массива.
dushik
сообщение 21.09.2004 18:43
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 49
Пол: Мужской

Репутация: -  0  +


Заранее скажу, я ламак в асме, прошу не осуждать за столь тупую просьбу smile.gif
Был бы очень благодарен, если бы кто-нибудь помог дописать пузырьковую сортировку:
Uses crt;

Const
   mas : Array [0..9] of Byte = (2, 1, 24, 3, 53, 7, 18, 114, 11, 17);

Var
   i   : Integer;

Begin
   asm
      lea di,mas
      lea si,mas
      mov cx,9
      @loop2:
      mov al,[di]
      inc di
      mov ah,[di]
      inc di
      cmp al,ah
      jng @endif
      {Обмен}
      mov bl,al
      mov dl, [di-1]
      mov [di-2], dl
      mov [di-1], al
      {Конец обмена. Этот обмен надо проделать в цикле.}
      @endif:
      loop @loop2
   end;
end.

Моя программа пробегая по массиву меняет только пары элементов, если
mas[i] < mas [i + 1]. Т. е. меняет местами (если это требуется) только елементы 0 и 1, 2 и 3, 3 и 4... А должен после обмена пары mas[i] и mas[i + 1],
двигаться к началу массива пока элемент не встанет в нужное место, примерно так:
for j := i downto 1
begin
   if (mas[j] <= mas[j - 1]) then
       {обменять}
   else
        break;
end;
Я уже как только не пробовал дописать цикл назад с заменами, не выходит <_<
Помогоите дописать кому не в лом, плиз.
Заранее благодарен smile.gif


--------------------
На самом деле самого дела нет. В самой деятельности заключена самость дела и наоборот. Наоборот получим оборот на, таким образом перевернем образ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.06.2025 19:29
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"