С Новым годом! Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
3 / 2 / 2
Регистрация: 16.03.2015
Сообщений: 188
1

Разработать программу нахождения суммы элементов массива

17.11.2016, 21:18. Показов 1632. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
2. Задан массив X размерности n знаковых целых чисел. Разработать программу нахождения суммы элементов массива.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.11.2016, 21:18
Ответы с готовыми решениями:

Разработать программу получения суммы отрицательных элементов массива
3. Задан массив X размерности n знаковых целых чисел. Разработать программу получения суммы...

Дан целочисленный массив M*N.Разработать программу нахождения суммы особых элементов массива
Задача: Дан целочисленный массив M*N.Разработать программу нахождения суммы особых элементов...

[КуМир] Составить программу нахождения суммы элементов массива
Здравствуйте! Мне нужно составить программу нахождения суммы элементов массива на языке КуМир. ...

Составить программу нахождения суммы (количества) положительных (отрицательных) элементов массива
Составить программу нахождения суммы (количества) положительных (отрицательных) элементов массива

7
3 / 2 / 2
Регистрация: 16.03.2015
Сообщений: 188
20.11.2016, 00:34  [ТС] 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
Data Segment para 'data'
mas dw      1,2,3,4,5   
n   dw      5           
zn  dw      ?          
Data Ends 
 
Code Segment para 'code' 
Assume CS:Code, DS:Data, ES:Nothing 
 
main:
 
      mov cx,n 
      mov si,0 
      mov ax,0 
      
      mov ax,4c00h 
      int 21h 
      
      Calc Proc near 
 
L:    add   ax,mas[si] 
      add  si,1 
      LOOP L 
 
      mov zn,ax   
      
       
      calc endp
      Code Ends 
      end main
Вот мой код.. но работает не правильно ...
0
Прощай, Мир!
1673 / 831 / 253
Регистрация: 26.05.2012
Сообщений: 3,056
20.11.2016, 05:58 3
во-первых, сегмент данных не инициализирован
Assembler
1
2
mov ax,data
mov ds,ax
процедура вообще не вызывается
Assembler
1
call calc
далее, в конце процедуры должен быть возврат из нее
Assembler
1
ret
Цитата Сообщение от Глеб Иванов Посмотреть сообщение
mas dw 1,2,3,4,5
Цитата Сообщение от Глеб Иванов Посмотреть сообщение
add si,1
элементы массива имеют размер слова, вот поэтому для смещения к следующему элементу нужно добавлять два байта
Assembler
1
add si,2
1
3 / 2 / 2
Регистрация: 16.03.2015
Сообщений: 188
20.11.2016, 13:06  [ТС] 4
Очень благодарен за помощь.

Добавлено через 5 минут
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
Data Segment para 'data'
mas dw      1,2,3,4,5   
n   dw      5           
zn  dw      ?          
Data Ends 
 
Code Segment para 'code' 
Assume CS:Code, DS:Data, ES:Nothing 
 
main:
 
      mov ax,data
      mov ds,ax
 
      mov cx,n 
      mov si,0 
      mov ax,0 
      
      mov ax,4c00h 
      int 21h 
      
      
 
L:    add   ax,mas[si] 
      add  si,2 
      LOOP L 
 
      mov zn,ax  
      ret 
      
       
      
      Code Ends 
      end main
0
Прощай, Мир!
1673 / 831 / 253
Регистрация: 26.05.2012
Сообщений: 3,056
20.11.2016, 15:29 5
Цитата Сообщение от Глеб Иванов Посмотреть сообщение
Очень благодарен за помощь
для благодарностей есть кнопка Название: post_thanks.png
Просмотров: 30

Размер: 1.1 Кб
1
1718 / 567 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
20.11.2016, 15:54 6
proc3nt, а ничего, что строки 19,20 до вычисления суммы стоят?
0
Прощай, Мир!
1673 / 831 / 253
Регистрация: 26.05.2012
Сообщений: 3,056
20.11.2016, 16:37 7
Цитата Сообщение от мановар Посмотреть сообщение
а ничего, что строки 19,20 до вычисления суммы стоят?
какой пост ты имеешь ввиду #2 или #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
data segment para 'data'
mas dw      1,2,3,4,5   
n   dw      5           
zn  dw      ?          
data ends 
 
code segment para 'code' 
assume cs:code,ds:data,es:nothing 
 
main:
mov ax,data
mov ds,ax
 
mov cx,n 
mov si,0 
mov ax,0 
 
call calc
      
mov ax,4C00h 
int 21h 
      
calc proc near 
l:    
add ax,mas[si] 
add si,2 
loop l
 
mov zn,ax       
 
ret 
calc endp
 
code ends 
end main
без
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
data segment para 'data'
mas dw      1,2,3,4,5   
n   dw      5           
zn  dw      ?          
data ends 
 
code segment para 'code' 
assume cs:code,ds:data,es:nothing 
 
main:
mov ax,data
mov ds,ax
 
mov cx,n 
mov si,0 
mov ax,0 
 
l:    
add ax,mas[si] 
add si,2 
loop l
 
mov zn,ax
      
mov ax,4C00h 
int 21h 
code ends 
end main
1
3 / 2 / 2
Регистрация: 16.03.2015
Сообщений: 188
20.11.2016, 17:45  [ТС] 8
Кнопку кликнул) еще раз спасибо... если будет время скиньте мне в другие темы хотя бы алгоритмы ... нажму еще кнопок))
Разработать программу, которая: отнимает от элементов массива X соответствующие элементы массива Y
Разработать программу получения суммы отрицательных элементов массива
0
20.11.2016, 17:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.11.2016, 17:45
Помогаю со студенческими работами здесь

Составить программу нахождения суммы (количества) положительных (отрицательных) элементов массива.
в обычном варианте и через класс Array Составить программу нахождения суммы (количества)...

Составить программу нахождения суммы элементов массива, значения который больше 5
Составить программу нахождения суммы элементов массива, значения который больше 5.

Составить программу нахождения суммы (количества) положительных (отрицательных) элементов массива
беда не приходит одна. на завтра надо сдать две лабы по с#, а я увы умею только всякую ерунду...

Составить программу нахождения суммы (количества) положительных (отрицательных) элементов массива
Составить программу нахождения суммы (количества) положительных (отрицательных) элементов...


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

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