Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
5 / 5 / 2
Регистрация: 23.10.2009
Сообщений: 63
1

[masm32] Найти сумму элементов под главной диагональю

31.10.2010, 08:57. Показов 1392. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста. Решить с помощью стурктур. Дана матрица 6x6. Найти сумму елементов под главной диагональю.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.10.2010, 08:57
Ответы с готовыми решениями:

Найти сумму положительных элементов под главной диагональю матрицы
Программирование в tasm. Пишет ошибку Operand types do not match. Мне нужно найти сумму...

Найти сумму положительных элементов, находящихся под главной диагональю матрицы
Нашел как найти сумму массива. .model small .stack 100h .data mas dw 0,1,2,3,4,5,6,7,8,9...

Найти произведение элементов квадратной матрицы, находящихся под ее главной диагональю.
1) Увеличить содержимое CX на 1, если значение AX равно 0. Увели-чить содержимое CX на 10, если...

Найти сумму положительных элементов матрицы над главной диагональю (emu8086)
Вычислить сумму и число положительных элементов матрицы A, находящихся над главной диагональю....

4
JQ
3 / 3 / 0
Регистрация: 31.10.2010
Сообщений: 36
31.10.2010, 13:14 2
Цитата Сообщение от GepardD Посмотреть сообщение
Помогите пожалуйста. Решить с помощью стурктур. Дана матрица 6x6. Найти сумму елементов под главной диагональю.
матрица заданна или неизвестна?
0
5 / 5 / 2
Регистрация: 23.10.2009
Сообщений: 63
31.10.2010, 14:06  [ТС] 3
Матрица задана:
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
.386
.model  flat, stdcall
option casemap:none
include    \masm32\include\windows.inc
include    \masm32\include\user32.inc
include    \masm32\include\kernel32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
ExitProcess   proto: dword      ; прототип API-функції
 
DATE1 STRUCT     ; тип даних СТРУКТУРА з іменем DATE1
elem1 dd ?         ; ім'я першого поля структури
elem2 dd ?         ; ім'я другого поля структури 
elem3 dd ?         ; ім'я третього поля структури 
elem4 dd ?         ; ім'я четвертого поля структури 
elem5 dd ? 
elem6 dd ? 
DATE1 ENDS
.data                              ; директива визначення даних
  str1 DATE1 <0,5,1,-1,-2,3>                 ; структура з іменем str1
  str2 DATE1 <1,0,0,-2,-1,-3> 
  str3 DATE1 <1,1,0,-1,-2,3>
  str4 DATE1 <1,1,1,0,-2,3>
  str5 DATE1 <1,1,1,1,0,3>
  str6 DATE1 <1,1,1,1,1,0>                ; структура з іменем str2
st1 db " Rezault ",0
st2 db 10 dup(?),0
ifmt db "%d",0
.code                 ; директива початку сегмента даних
start:
xor edx,edx
xor ebx,ebx
xor ecx,ecx
 
....
 
invoke  wsprintf, ADDR st2, ADDR ifmt, edx
invoke MessageBox,NULL, addr st2, addr st1, MB_OK     
invoke ExitProcess, 0
end start
0
1779 / 757 / 153
Регистрация: 03.06.2009
Сообщений: 5,927
31.10.2010, 14:33 4
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
.586
.model flat,stdcall
option casemap:none
include windows.inc
include user32.inc
include kernel32.inc
include masm32.inc
includelib user32.lib
includelib masm32.lib
includelib kernel32.lib
DATE1 STRUCT     ; тип даних СТРУКТУРА з іменем DATE1
elem1 dd ?         ; ім'я першого поля структури
elem2 dd ?         ; ім'я другого поля структури 
elem3 dd ?         ; ім'я третього поля структури 
elem4 dd ?         ; ім'я четвертого поля структури 
elem5 dd ? 
elem6 dd ? 
DATE1 ENDS
 
.data
  str1 DATE1 <0,5,1,-1,-2,3>                 ; структура з іменем str1
  str2 DATE1 <1,0,0,-2,-1,-3> 
  str3 DATE1 <1,1,0,-1,-2,3>
  str4 DATE1 <1,1,1,0,-2,3>
  str5 DATE1 <1,1,1,1,0,3>
  str6 DATE1 <1,1,1,1,1,0>                ; структура з іменем str2
st1 db " Rezault ",0
st2 db 10 dup(?),0
ifmt db "%d",0
 
.code
_start:
 
    lea ebx,str2        ;начало 2-й строки
    mov esi,0       ;Значение строке ниже главной диагонали
    mov edx,0       ;сумма
lp2:    push esi            ;сохраняем индекс в строке
lp1:    mov eax,[ebx+esi]       ;читаем элемент матрицы ниже гланой диагонали
    add edx,eax     ;суммируем с элементом
    sub esi,4       ;предыдущий элемент в строке
    jns lp1         ;продолжаем если не закончиласть строка
    pop esi         ;восстанавливаем индекс в строке
    add esi,4       ;следующий элемент в строке
    add ebx,size DATE1      ;переходим на новую строку
    cmp ebx,offset str1+(size DATE1)*6 
    jc lp2          ;продолжаем пока не прошли по всем строкам
 
 
    invoke  wsprintf, ADDR st2, ADDR ifmt, edx
invoke MessageBox,NULL, addr st2, addr st1, MB_OK     
invoke ExitProcess, 0
 
 
end _start
end
1
5 / 5 / 2
Регистрация: 23.10.2009
Сообщений: 63
31.10.2010, 14:40  [ТС] 5
Спасибо
0
31.10.2010, 14:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.10.2010, 14:40
Помогаю со студенческими работами здесь

Найти минимальный элемент под главной диагональю матрицы
Очень нужна помощь, за символическое вознаграждение (бесплатно тоже не откажусь=))! Надо...

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

[masm32] Найти сумму первых К отрицательных элементов массива
Здраствуйте, у меня задание: 1)Найти сумму первых К отрицательных элементов массива A = {a },...

[masm32] Найти сумму кубов всех отрицательных элементов одномерного массива, удовлетворяющих условию a[i]>=c*d
Помогите пожалуйста, никак не могу разобраться c программой, наброски сделал. Условие следующее: ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru