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

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

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

> Поменять местами элементы в матрице, По заданному условию
сообщение
Сообщение #1





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

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


помогите решить задачку smile.gif

Ввести элементы квадратной матрици 3X3 (байты положительны различны по величине).

Найти наименьший элемент среди пренадлежащих главной и побочной диоганалях MIN. Если MIN -элемент главной диагонали и
кратин 4 , поменять его местами с первым элементом последней строки, иначе с первым элементом первой строки.
Вывести на экран исходную и приобразованную матрицы.


Собственная наработка не дает результатов (не сохраняет в цикле данные в di)
Явно чтото делаю не правильно, unsure.gif тока сам не магу найти ошибку а точнее не вижу как это сделать

poisk_min proc
push dx
xor dx,dx
mov cx, 2
mov bx, 0
mov dl,array_2[bx][si]
cikl_min1:
mov si, 0
mov di, 0
push cx
mov cx, 3
cikl_min2:
cmp dl,array_2[bx][si]
jna n
mov dl,array_2[bx][si]
mov ax,bx
mov di,si
n:
inc si
loop cikl_min2
pop cx
add bx,3
loop cikl_min1
; outint di
cmp ax,0
jne ne_0
test dl,11b
jnz ne_kr

cmp di,0
jne s_1
mov cl,array[0][0]
mov array[0][0],dl
mov array[0][0],cl
jmp es_1
s_1:
cmp di,1
jne s_2
mov cl,array[0][0]
mov array[0][0],dl
mov array[8][0],cl
jmp es_1
s_2:
cmp di,2
jne kon
mov cl,array[0][0]
mov array[0][0],dl
mov array[8][0],cl
es_1:
lea dx,str_minGK
mov ah,9h
int 21h
jmp kon
ne_kr:
mov cl, array[6][0]
mov array[6][0],dl
mov array[bx][si],cl
lea dx,str_minGnK
mov ah,9h
int 21h
jmp kon
ne_0:

mov cl, array[0][6]
mov array[0][6],dl
mov array[bx][si],cl

lea dx,str_minP
mov ah,9h
int 21h
kon:
pop dx
ret
poisk_min endp


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

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


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

 





- Текстовая версия 29.03.2024 18:43
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name