Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/2: Рейтинг темы: голосов - 2, средняя оценка - 4.50
yk92
0 / 0 / 2
Регистрация: 28.02.2010
Сообщений: 35
1

Найти сумму элементов массива и максимальный элемент

21.11.2010, 17:15. Просмотров 440. Ответов 1
Метки нет (Все метки)

нада найти суму елементов массива и максимальний елемент.
вот текс програми. тут ещет только максимальний елемент, помогите переднлать чтоби щитало сумму и максимальний елемент.
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
.model small
size_elem equ 1 ;размер элемента (константа)
 
.data
array db  3, 3, 3, 3, 4, 8,   4, 3, 8, 5, 5, 4,   3, 5, 4, 2, 4, 7,   6, 4, 8, 5, 4, 8,   6, 1, 5, 2, 6,9
max1 db ?
summ db ?
 
smax db 0ah, 0dh, 'maximalniy element = ', '$'
.stack 256h
.code
main proc
mov ax, @data 
mov ds, ax 
 
mov si, 0 ;столбцы
mov bx, 0 ;строки
mov cx, 5 ;для цикла по строкам
mov max1,0
 
 
external: ;внешний цикл по строкам
push cx 
mov cx, 6 ;для цикла по столбцам
mov si, 0
iternal: ;внутренний цикл по строкам
mov al,array[bx][si] ;в ах первый (очередной) ;элемент матрицы
add si,size_elem ;передвижение на следующий ;элемент в строке 
;сравниваем содержимое 
;текущего элемента в ах 
;с искомым элементом
cmp al, max1
;если текущий совпал с искомым, то переход на него ;для обработки, 
;иначе - цикл продолжения поиска
jb m1 
mov max1, al
m1:         ;inc si
loop iternal
move_next: ;продвижение в матрице
pop cx ;восстанавливаем СХ из 
;стека (5)
add bx, size_elem*6 ;передвигаемся на следующую ;строку
loop external ;цикл (внешний)
 
mov ah, 09h
mov dx, offset smax
int 21h
mov ah, 02h ;вывод chisla на экран
mov dl, max1
add dl, 30h 
int 21h
mov ax, 4c00h
 ;стандартное завершение
;программы
int 21h
main endp
end main ;конец программы
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2010, 17:15
Ответы с готовыми решениями:

Найти максимальный элемент массива и посчитать сумму элементов стоящих после него
Дано задание: найти максимальный элемент массива и посчитать сумму элементов стоящих после него....

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

Найти максимальный элемент массива и записать его в Rg BH (формат элементов массива - байт).
Помогите пожалуйста написать программу на ассемблере. Буду очень сильно благодарен. Найти...

Найти сумму элементов столбца матрицы, содержащего максимальный по модулю элемент
Помогите с задачей: Матрица чисел из диапазона -99..99 размерностью вводится с клавиатуры....

Двумерный массив. Подсчитать сумму отрицательных элементов и найти максимальный элемент из положительных.
В общем такая задача. Задан двумерный массив. Нужно подсчитать сумму отрицательных элементов и...

1
airyashov
69 / 74 / 0
Регистрация: 15.12.2008
Сообщений: 302
21.11.2010, 21:38 2
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
.model small
size_elem equ 1 ;размер элемента (константа)
 
.data
array db  3, 3, 3, 3, 4, 8,   4, 3, 8, 5, 5, 4,   3, 5, 4, 2, 4, 7,   6, 4, 8, 5, 4, 8,   6, 1, 5, 2, 6,9
max1 db ?
summ db ?
 
smax db 0ah, 0dh, 'maximalniy element = ', '$'
.stack 256h
.code
main proc
mov ax, @data 
mov ds, ax 
 
mov si, 0 ;столбцы
mov bx, 0 ;строки
mov cx, 5 ;для цикла по строкам
mov max1,0
 
 
external: ;внешний цикл по строкам
push cx 
mov cx, 6 ;для цикла по столбцам
mov si, 0
iternal: ;внутренний цикл по строкам
mov al,array[bx][si] ;в ах первый (очередной) ;элемент матрицы
 
add sum,al
 
add si,size_elem ;передвижение на следующий ;элемент в строке 
;сравниваем содержимое 
;текущего элемента в ах 
;с искомым элементом
cmp al, max1
;если текущий совпал с искомым, то переход на него ;для обработки, 
;иначе - цикл продолжения поиска
jb m1 
mov max1, al
m1:             ;inc si
loop iternal
move_next: ;продвижение в матрице
pop cx ;восстанавливаем СХ из 
;стека (5)
add bx, size_elem*6 ;передвигаемся на следующую ;строку
loop external ;цикл (внешний)
 
mov ah, 09h
mov dx, offset smax
int 21h
mov ah, 02h ;вывод chisla на экран
mov dl, max1
add dl, 30h 
int 21h
 
mov ah, 02h ;вывод chisla на экран
mov dl, sum
add dl, 30h 
int 21h
 
 
mov ax, 4c00h
 ;стандартное завершение
;программы
int 21h
main endp
end main ;конец программы
про в/в читать тут так как сумма вероятно более 10
http://www.cyberforum.ru/assembler/thread54461.html
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2010, 21:38

Найти максимальный элемент массива
Найти максимальный элемент массива с помощью программы FASM(желательно детальнее).

Найти максимальный элемент массива
найти максимальный элемент массива

Выбрать из элементов заданного массива байтов максимальный элемент
На парах немножко каснулись ассемблера, сам в тему ещё не очень въехал. помогите составить) ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru