![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 12.05.2011
Сообщений: 20
|
![]()
Удалить элементы массива А(I) имеющие одинаковые значения. I=1,2,..,10, Определить количество оставшихся элементов.
Код HTML:
.286 .model tiny .code start: ; ищем повторяющиеся элементы и заменяем их на 0FFh mov cx,lenth+1 mov bx,offset array a2: push cx mov al,[bx] cmp al,0FFh je a1 mov di,bx inc di a0: repne scasb jcxz a1 mov byte ptr [di-1],0FFh loop a0 a1: inc bx pop cx loop a2 ; ищем элемены отличающиеся от 0FFh и сдвигаем их в начало массива ; таким образом происходит удаление из массива повторяющихся элементов mov al,0FFh a5: xor bx,bx mov cx,lenth mov di,offset array a4: repne scasb jcxz a3 cmp al,[di] je a4 xchg al,[di] xchg al,[di-1] mov bl,1 jmp a4 a3: cmp bx,1 jz a5 ; ищем первый элемент с кодом 0FFh, отнимаем от его адреса адрес начала ;массива, таким образом мы определяем количество оставшихся элементов. mov cx,lenth mov di,offset array mov si,di repne scasb sub di,si dec di ret array db 1,2,1,1,4,2,7,4,1,10 lenth = $ - array end start;конец программы |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
datileo,
там откуда ты эту программу взял еще и текст был задача решается в три этапа:
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
VB Я не понимаю как написать данную программу | Alenka18 | Помощь студентам | 2 | 19.11.2012 18:11 |
Как можно упростить программу? | sullen | Общие вопросы C/C++ | 2 | 08.06.2012 18:54 |
подкажите как реализовать данную программу | Shab | Общие вопросы C/C++ | 0 | 24.11.2010 12:43 |
Как можно упростить программу? | Евгений92 | Общие вопросы C/C++ | 0 | 07.11.2010 17:50 |
Нужно переделать программу - упростить | lukoie | Фриланс | 14 | 29.01.2010 01:09 |