Переставить цифры заданного числа так, чтобы получить максимальное число - Assembler
Формулировка задачи:
Здравствуйте. Помогите пожалуйста, мучаюсь несколько часов..
Вот задача:
Дано натуральное число n переставить его цифры так чтобы образовалось Максимальное число, записанное теми же цифрами.
если конкретнее нужно именно вот этот кусок кода:
но на assembler..
for j:=1 to i do //i-кол-во элементов for k:=j to i do if a[j]<a[k] then begin l:=a[j]; a[j]:=a[k]; a[k]:=l; end;
Решение задачи: «Переставить цифры заданного числа так, чтобы получить максимальное число»
textual
Листинг программы
model tiny,pascal .code .186 org 100h begin: call @@01 call sortStr,offset dbStr,szStr @@01: mov ah,9 lea dx,dbStr int 21h ret dbStr db '918273645463728190' szStr equ $-dbStr db 10,13,'$' sortStr proc a:word,b:word uses cx,si,di mov cx,b dec cx mov di,a @@02: mov si,di push cx lodsb @@03: cmp al,[si] ja @@04 xchg al,[si] @@04: inc si loop @@03 pop cx stosb loop @@02 ret sortStr endp end begin
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д