Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 08.11.2016
Сообщений: 35

Найти сумму первых и последних элементов массива.Значение большей суммы вывести на экран

14.04.2017, 19:03. Показов 1253. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
задан массив из элементов:21,31,47,13,1,2,3,4,100,15.Най ти сумму первых и последних элементов массива.Значение большей суммы вывести на экран соответствующим сообщением
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.04.2017, 19:03
Ответы с готовыми решениями:

Вычесть из суммы первых k элементов массива у сумму последних k его элементов
Элементы вещественного одномерного динамического массива х размером n > 20 сгенерированы датчиком псевдослучайных чисел в диапазоне ....

Найти сумму четырех первых и двух последних элементов массива
Пусть имеется массив $arr, состоящий из N чисел. Найти сумму четырех первых и двух последних элементов массива.

Найти сумму первых 10 элементов массива и произведение последних 10 элемент
В заданном массиве Н из 30 элементов найти сумму первых 10 элемен-тов, произведение последних 10 элементов и среднее арифметическое...

5
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8662 / 4498 / 1670
Регистрация: 01.02.2015
Сообщений: 13,913
Записей в блоге: 12
14.04.2017, 23:59
Цитата Сообщение от ran**** Посмотреть сообщение
Найти сумму первых и последних элементов массива.
Это как (на примере приведённого массива)?
0
0 / 0 / 0
Регистрация: 08.11.2016
Сообщений: 35
15.04.2017, 03:33  [ТС]
да,именно этоого массива
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8662 / 4498 / 1670
Регистрация: 01.02.2015
Сообщений: 13,913
Записей в блоге: 12
15.04.2017, 18:13
Смысл моей реплики был в следующем:
Имеется массив 21,31,47,13,1,2,3,4,100,15, какие действия с ним нужно сделать? Приведите пример на числах массива.
Цитата Сообщение от ran**** Посмотреть сообщение
Найти сумму первых и последних элементов массива.
Сколько элементов нужно складывать? Один, два, пять?

Добавлено через 6 часов 37 минут
Если интерпретировать условие, как сравнение сумм первой половины массива и второй половины массива
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
LOCALS
 
.model small
 
.stack 100h
 
.data
Array           dw      21, 31, 47, 13, 1, 2, 3, 4, 100, 15     ;массив
Len             dw      ($-Array)/2                             ;длина массива
SumFirst        dw      0                                       ;сумма первой половины массива
SumLast         dw      0                                       ;сумма второй половины массива
Max             dw      0                                       ;максимальная сумма
msgMaxSum       db      'Max summa is ', '$'
 
.code
 
main    proc
        mov     ax,     @data
        mov     ds,     ax
 
        mov     cx,     Len     ;cx - длина массива
        shr     cx,     1       ;cx - длина первой половины массива
        mov     dx,     Len     ;dx - длина второй половины массива
        sub     dx,     cx
        lea     si,     Array   ;si - адрес массива
        mov     ax,     0       ;обнуление переменных для суммирования
        mov     SumFirst,       ax
        mov     SumLast,        ax
        ;суммирование первой половины массива
@@ForFirst:
        mov     ax,     [si]    ;считывание очередного элемента массива
        add     SumFirst,       ax      ;суммирование элементов массива
        add     si,     2       ;увеличение si на размер элемента в байтах
        loop    @@ForFirst
        ;суммирование второй половины массива
        mov     cx,     dx
@@ForLast:
        mov     ax,     [si]    ;считывание очередного элемента массива
        add     SumLast,        ax      ;суммирование элементов массива
        add     si,     2       ;увеличение si на размер элемента в байтах
        loop    @@ForLast
 
        ;сравнение сумм
        mov     ax,     [SumFirst]
        cmp     ax,     [SumLast]
        jae     @@SaveMax
        mov     ax,     [SumLast]
@@SaveMax:
        mov     [Max],  ax
 
        ;вывод результатов
        mov     ah,     09h
        lea     dx,     msgMaxSum
        int     21h
        mov     ax,     [Max]
        call    Show_AX
 
        ;завершение программы
        mov     ax,     4C00h
        int     21h
main    endp
 
; выводит число из регистра AX на экран
; входные данные:
; ax - число для отображения
Show_AX proc
        push    ax
        push    bx
        push    cx
        push    dx
        push    di
 
        mov     cx, 10
        xor     di, di          ; di - кол. цифр в числе
 
        ; если число в ax отрицательное, то
        ;1) напечатать '-'
        ;2) сделать ax положительным
        or      ax, ax
        jns     @@Conv
        push    ax
        mov     dx, '-'
        mov     ah, 2           ; ah - функция вывода символа на экран
        int     21h
        pop     ax
 
        neg     ax
 
@@Conv:
        xor     dx, dx
        div     cx              ; dl = num mod 10
        add     dl, '0'         ; перевод в символьный формат
        inc     di
        push    dx              ; складываем в стэк
        or      ax, ax
        jnz     @@Conv
        ; выводим из стэка на экран
@@Show:
        pop     dx              ; dl = очередной символ
        mov     ah, 2           ; ah - функция вывода символа на экран
        int     21h
        dec     di              ; повторяем пока di<>0
        jnz     @@Show
 
        pop     di
        pop     dx
        pop     cx
        pop     bx
        pop     ax
        ret
Show_AX endp
 
end     main
0
0 / 0 / 0
Регистрация: 08.11.2016
Сообщений: 35
16.04.2017, 12:56  [ТС]
Он должен сложить 21,35,47,13,1 и 2,3,4,100,15,после этого вывести сумму большей на экран
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8662 / 4498 / 1670
Регистрация: 01.02.2015
Сообщений: 13,913
Записей в блоге: 12
16.04.2017, 19:34
Это хорошо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.04.2017, 19:34
Помогаю со студенческими работами здесь

Из суммы первых n его элементов вычесть сумму последних n элементов
Массив содержит 2n чисел. Из суммы первых n его элементов вычесть сумму последних n элементов

Массив содержит 2n чисел. Из суммы первых n его элементов вычесть сумму последних n элементов
Алгоритм примерно такой: Создать и указать массив. Допустим человек вводит число 10. Значения указываются рандомно. Мне нужно из...

Найти и вывести на экран сумму всех элементов массива, значение которых меньше 0
Задан числовой массив, состоящий из 7 элементов. Найти и вывести на экран сумму всех элементов массива, значение которых меньше 0.

Найти сумму первых трех и последних трех элементов массива
Есть одномерные материальные массивы A=i]l, B=i]m, C=i]n - вводятся с клавиатуры. Создать процедуру ввода массивов. Для каждого из них...

Найти в массиве значение и вывести его индекс на экран, вычислить сумму модулей элементов массива
Написать программу обработки одномерного статического массива целых случайных чисел в диапазоне значений -100…100 в соответствии с...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru