Cheery12
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Сорри не посмотрела, вот кусочек который я более менее сделала, но проблема в том что здесь надо двумерный сделать, а у меня одномерный. STACK SEGMENT STAK db 128 STACK ENDS DATA SEGMENT temp db 3 dup (' ') ten db 10 str1 dw 0 str2 dw 1 col1 dw 0 col2 dw 1 fin_mas db 700 dup (' '), '$' max db '?' mas db 1,2,3,4,5,127,7,8,9,123, 128,12,13,13,16,17,18,14,19,20, 21,22,23,24,25,35,32,43,56,54, 23,23,54,4,123,23,23,65,63,34, 54,67,123,1,234,23,23,12,11,33, 1,2,3,4,5,6,7,8,9,10, 11,12,13,15,16,17,18,14,19,20, 21,22,23,24,25,35,32,43,56,54, 23,23,54,4,123,23,23,65,63,34, 54,67,123,1,234,23,23,12,11,33 file_name db 'ans.txt', 0 max_str db 'max= $' DATA ENDS CODE SEGMENT ASSUME ds: DATA, ss: STACK, cs: CODE trans proc push cx xor ax, ax mov cx, 3 mov di, 0 mov al, mas[si] loop3: cmp ax, 0 je fin div ten add ah, 30h mov temp[di], ah; xor ah, ah inc di loop loop3 fin: pop cx ret trans endp console proc push cx mov cx, 3 mov di, 2 loop4: mov dl, temp[di] mov fin_mas[bx], dl inc bx dec di loop loop4 pop cx ret console endp start: ;max mov cx, 100 mov si, 0 mov al, mas[si] loop1: cmp al, mas[si] ja continue mov al, max[si] continue: inc si loop loop1 mov max, al mov cx, 4 mov ah, 9 mov dx, offset max_str int 21h mov cx, 3 mov di, 0 xor ax, ax mov al, max loop9: cmp ax, 0 je fin1 div ten add ah, 30h mov temp[di], ah; xor ah, ah inc di loop loop9 fin1: mov cx, 3 mov di, 2 loop10: mov ah, 2 mov dl, temp[di] int 21h dec di loop loop10 Добавлено: Дана матрица 10 на 10 элементов. Работаем с ней, как с одномерным массивом, так как в памяти все строки расположены друг за другом. Сначала мы ищем максимальный элемент, проверяя в цикле все элементы массива. Далее переводим максимальный элемент в строку и выводим её на экран. Поясняю что я делала. |