Форум программистов, компьютерный форум, киберфорум
Assembler: математика, вычисления
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
-19 / 1 / 0
Регистрация: 09.10.2013
Сообщений: 71

Ввести двумерный массив 4х4, найти сумму диагональных элементов

27.06.2014, 10:32. Показов 1648. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
сумму диагональных элементов
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.06.2014, 10:32
Ответы с готовыми решениями:

Ввести двумерный массив 4х4, найти сумму диагональных элементов
Ввести двумерный массив 4х4, найти сумму диагональных элементов

Найти след (сумму диагональных элементов) заданной матрицы 4х4
Найти след (сумму диагональных элементов) ЗАДАННОЙ матрицы 4х4

Двумерный массив. Ввести двумерный массив, найти сумму элементов каждого столбца
Ввести двумерный массив, найти сумму элементов каждого столбца.

2
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
27.06.2014, 10:34
Kosmodzila007,
показывай свои наработки - тогда поможем
0
-19 / 1 / 0
Регистрация: 09.10.2013
Сообщений: 71
27.06.2014, 10:57  [ТС]
Держи это ASM код.Только я хз что заполнять там где вопросы.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
;--------------------------------- Поле стека --------------------------------------
sseg     segment  stack 'stack'                            ; Задачи сегмента стека
           db 128 dup(?)                                   ; Поле для стека размером 128 байт
sseg     ends                                              ; Конец сегмента стека
;-------------------- Поля данных ---------------------------------------
dseg     segment 'data'                                ; Задачи сегмента данных
   text1   db    'Ishodnuy massiv',13,10,'$'           ; 23 байта с кодами символов text1
   text2   db    'Summa diagonalnix elementov = $'             ; Поле размером в 21 байт
   mas     dw    23,4,5,67                             ; Массив размером 4x4 элементов
           dw    5,6,7,99
           dw    67,8,9,23
           dw    87,9,0,8
   N       dw    10                                    ; N:=10    Поле в 1 байт
   Num     dw    ?                                     ; Num:=?   Поле в 1 байт
   endl    db    13,10,'$'                             ; Перевод строки
   StrNum  db    8 dup (?), '$'                        ; Хранение результата перевода
   Negate  db    ?                                     ; Флаг отрицательности (исп. только в процедуре перевода)
dseg     ends                                          ; Конец сегмента данных
 
;------------------------------------ Текст   программы -----------------------------------
cseg     segment 'code'                       ; Задание сегмента команд
            assume  cs:cseg, ds:dseg, ss:sseg ;Установка соответствия между сегментными 
                                          ; регистрами (cs,ds,ss) і программными сегментами (cseg,dseg,sseg)
  start proc far                              ;Начало процедуры start (Точка входа - start)
          mov   ax, dseg                      ;Инициализация сегментного регистра ds на
          mov   ds, ax                        ; программный сегмент данных dseg
;----------------------------------------------------------------------------------------------------------------------------------------------------------------------
     m1:  lea   dx, text1           ; Закачивание  в регистр    dx из сегмента данных адреса 
                                    ; первого  байта  текста  text1
          call  WrStr               ; Возврат к процедуре WrStr выведение на экран текста text1
;-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
         ?
         ?
         ?
         ?
         ?
         ?
         ?
;------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     m2:  
          mov   ax, mas[0][0]            ; ax:= mas[0]
          mov   si, 0                    ; si:= 0
          sub   N,  1                    ; N := N-1
          mov   cx, N                    ; cx:= N
     m3:  
          add   si, 2                    ; si:= si+2
          cmp   ax, mas[si][0]          ; сравнить ax и mas[si]
          jg    mNE                      ; если ax>mas[si] то переходим на mNE
          jmp   mRet                     ; переходим на mRet
     mNE: 
          mov   ax, mas[si][0]          ; заносим mas[si] в ax
     mRet:
          loop  m3                       ; переходим на m3 
 
          mov   Num, ax                  ; Num:=ax
;------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------
          mov   dx, offset text2    ; Закачивание  в регистр    dx из сегмента данных адреса
                                    ; первого  байта  текста  text2
          call  WrStr               ; Возврат к процедуре WrStr выведение на экран текста text2
          call StrCon
      lea  dx, StrNum
      call WrStr
;---------------------------------------------------------------------------------------------------------- --------------------------------------------------------------
     m4:  mov   ah, 4Ch             ;Функция завершения программы
          int   21h                 ;Прерывание MS-DOS
  start  endp                       ;Конец   процедуры   start
;-----------------------------------------------------------------------------------------
StrCon proc
     push ax 
     push cx 
     push dx
     mov cx, 10 ; Фактор деления равен 10
     lea si, StrNum + 7; Последний символ строки вывода
     mov ax, Num        ; Заносим в ax число
     mov Negate, 0 ; Флаг отрицательности пока не 
                              ; установлен
     cmp ax, 8000h      ; Если старший бит установлен
     jb d10         ; то число отрицательно
     neg ax ; Возвращаем к положительной форме
     mov Negate, 1  ; Устанавливаем флаг отрицательности
 
d10:  cmp ax, 10        ; Если частное меньше 10 то 
                                   ;               прекратить цикл
         jb d20                ;            и начать рассмотрение знака
         cwd                   ; Иначе расширить знак (для деления)
         div cx                ; И разделить на фактор деления
         or dl, 30h           ; Перевести остаток в ASCII
         mov [si], dl       ; И записать в строку
         dec si                 ; Уменьшенный индекс
         jmp d10             ; И вернуться на начало цикла
 
d20:  or al, 30h          ; Перевести частное в ASCII
         mov [si], al       ; И занести в строку
 
         cmp Negate, 0   ; Если не был установлен флаг 
                                            ;отрицательности
         jz d30                ; То выйти из процедуры
        dec si                  ; Иначе еще раз уменьшить индекс
        mov byte ptr [si], '-'     ; И записать в него значок 
                                             ;минуса
d30:     pop dx 
         pop cx 
     pop ax
         ret                                ; Возврат из процедуры
StrCon endp
 
; ********************************************************************************************************************************************************************
  WrStr  proc near                             ; Начало процедуры (подпрограммы) WrStr
          mov   ah,09h                    ;вывод на экран ряд символов, ограниченных
          int   21h                       ; символом $ или кодом 24h
          ret                                  ; Возврат из процедуры
  WrStr  endp                                  ; Конец  процедуры (подпрограммы)  WrStr
; *********************************************************************************************************************************************************************
cseg     ends                                  ; Kонець сегмента команд
         end   start                           ; Конець программы - end, точка входу - start
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.06.2014, 10:57
Помогаю со студенческими работами здесь

Ввести двумерный массив 3х3 элементов, найти сумму элементов массива
Ввести двумерный массив 3х3 элементов, найти сумму элементов массива.

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

Ввести двумерный массив с клавиатуры и найти сумму элементов главной диагонали
Вод 2 мерново массива с клавиатуры и просумировать побочною диагональ

Ввести целочисленный двумерный массив A(NxM), вывести его. Найти сумму положительных угловых элементов
Помогите пожалуйста с задачей: Ввести целочисленный двумерный массив A(NxM), вывести его. Найти сумму положительных угловых элементов....

Ввести двумерный массив A(N×N) , вывести его. Найти сумму положительных элементов расположенных в части массива одновременно
Ввести двумерный массив A(N×N) , вывести его. Найти сумму положительных элементов расположенных в части массива одновременно как над...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru