• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Задача по матрицам на Ассемблер

  • Автор темы Annet
  • Дата начала
A

Annet

Пожалуйста,помогите решить задачу .
Ввести размерность m x n и элементы матрицы( слова, положительные числа). При вводе элементов учесть следующее требование: максимальный элемент в каждом из столбцов с нечетными номерами присутствует в одном экземпляре.
Вывести на экран исходную матрицу. Заменить максимальные элементы в нечетных столбцах на нули. Вывести на экран преобразованную матрицу.
 
R

Rififi

Annetа

что-то как-то много условий для лабы по ассемблеру. ты ничего не напутала? где например брать память под динамический двумерный массив? в ассемблере никаких встроенных средств для этого нет.
 
A

Annet

извиняюсь,за то что не туда тему кинула.нет ничего не путала.помогите плиз.есть подобная задача но даж по ней как то не особо удается разобраться((.
 
A

Annet

вот в этой части я предполагаю должна быть ошибка, но никак не найду.
nechet_stlb:


mov bx,0 ;начальный номер строки
push cx ;начало внешнего цикла - сохранение счетчика
test ds:mas[bx][si],1b ;тестируем 0 бит (четность столбца)
jnz nech ;если не четный - переход на след. столбец


mov cx,9 ; цикл повторится это количество раз(макс. кол-во строк)
stroka3:
mov dl,max ;копируем макс. эл. в dl
cmp ds:mas[bx][si],dl ;сравниваем макс. элемент со следующим
jbe x ;если меньше или равно - переход на метку
;иначе
mov al,ds:mas[bx][si] ;копируем наибольшее число в max
mov max,al ;заносим новое значение max
mov di,si ;сохраняем индекс строки макс. эл. в di

x:
inc bx ;переход на следующий эл. в столбце
loop stroka3

pop cx ;изъятие значения счетчика внешнего цикла из стека
mov bx,di
mov ds:mas[bx][si],0 ;заменяем макс. эл. на нуль

nech:
add si,1 ;переход на след. столбец
loop nechet_stlb
 
R

RiCrO

Помогите пожалуйста найти ошибку, прога должна заменять максимальные элементы внечетных столбцах на нули,а она всю матрицу обнуляет.

Ну так если она "обнуляет", значит Вы так написали. Найдите строчку кода, где происходит этот процесс, и будет вам счастье...
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!