Другие языки программирования и технологии

помогите построить алгоритм и программный код в ассемблере

Найти сумму первых пяти негативных элементов массива, что удовлетворяет условию c<=a<=d, c=10, d=47, а - элемент массива
походу, негативный - сие кривой перевод слова отрицательный
а коли так, то сумма элементов всегда будет ноль, хоть для 5, хоть для миллиона элементов
ибо ни одно отрицательное число не удовлетворяет условию 10<=a<=47

стало быть вся прога будет состоять из записи ноля в переменную, или вывод 0 на экран
Rach Rach
Rach Rach
20 328
Лучший ответ
НЕГАТИВНЫЙ элемент массива??? Это на каком языке?
Сумму элементов, что удовлетворяет условию? Фраза построена так, что условию должна удовлетворять сумма, а не элементы.
Условию c<=a<=d, а - элемент массива? Так что именно должно попасть в диапазон: индекс элемента, значение элемента или вообще что-то третье?

Потрудись сформулировать условие на нормальном русском языке - чтобы окружающие могли его понять.
Денис Вайзенгер я так понимаю, под суммой - это те самые пять найденных отрицательных чисел
кто пойдёт на шамболу
Михаил Барышев
Михаил Барышев
15 685
Если я вас правильно понял то нужно суммировать пять первых элементов массива попадающих под это условие c<=a<=d? Если да то алгоритм простой:
Берем элемент массива
начало:
Проверяем что бы был больше 9 если нет берем следующий элемент и в начало
Проверяем что бы был меньше 48 если нет берем следующий и в начало
Тут складываем элементы считаем что бы их было не больше пяти берем следующий элемент и в начало.

mov si, offset mass
xor bx,bx ;очищаем регистр что бы потом сюда сумму записывать
mov cx,5 ;а это счетчик сложений будет

nach:
mov ax, word ptr [si] ;не помню точно синтаксис пишу для наглядности Если массив байт то используем al или ah и пишем byte ptr
cmp ax, 9
ja next
cmp ax, 48
jb next
add bx, ax
dec cx ;тут толком не помню меняет команда флаги или нет можно и sub cx,1
jcxz end
next:
inc si
jmp nach
end:

Похожие вопросы