1 / 1 / 1
Регистрация: 05.10.2013
Сообщений: 92
1

Получить сумму всех элементов массива, если сумма больше 50, то вывести результат сложения, иначе - сам массив

17.11.2014, 21:51. Показов 1448. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задача: Дан массив А(...), нужно получить сумму всех элементов этого массива, если сумма больше 50, то вывести результат сложения, иначе вывести сам массив в исходном виде.

P.S Я начал писать программу, и знаю что она довольно легкая, но у меня трудности с выводом, просьба помогите решить задачу

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
stack1 segment
db 128 dup(?)
stack1 ends
 
Data segment
    A db 15 dup(1,5,2,12,32,2,22,7,5,1,3,1,0,2,11)
Data ends
 
code segment
start: assume ds: Data, cs: code, ss: stack1
mov ax,Data
mov ds,ax
mov si,0
mov al,A[si]     // происходит суммирование элементов массива
add al,A[si]      //
inc si
cmp al,50       // сравнение суммы с числом 50
jne a1          // метка
Вот и вопрос как надо писать вывод
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.11.2014, 21:51
Ответы с готовыми решениями:

Сформировать массив Y(N), где Yi=1, 2...N, есть сумма элементов i-ой строки массива, если она больше хi, иначе yi=xi
Помогите пожалуйста, очень срочно Дан массивы W (N, M) и Х (N), сформировать массив Y(N), где...

Подсчитать сумму всех положительных элементов массива. На экран вывести сам массив и сумму
Здравствуйте! Помоги пожалуйста решить задачку. Дан одномерный массив А, элементы которого...

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

Массив: Получить массив B, присвоив его k-му элементу значение 0, если среди элементов k-го столбца матрицы нулей больше, чем единиц, иначе - 1
Здравствуйте! Помогите пожалуйста решить задачу. Задана матрица размером NxM. Получить массив B,...

12
Ушел с форума
Автор FAQ
16262 / 7587 / 1061
Регистрация: 11.11.2010
Сообщений: 13,609
18.11.2014, 03:55 2
Цитата Сообщение от Roy jones Посмотреть сообщение
вопрос как надо писать вывод
Roy jones,
читай закрепленную тему https://www.cyberforum.ru/asse... 54461.html
1
1 / 1 / 1
Регистрация: 05.10.2013
Сообщений: 92
18.11.2014, 15:52  [ТС] 3
С выводом вроде разобрался, но программа не корректно работает, выдает 0 0 0 0 0 0 0 0
P.S. как запустить tasm на windows 8.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
58
59
stack1 segment
db 128 dup(?)
stack1 ends
 
 
Data segment
A db 15 dup(1,5,2,3,4,2,1,2,5,1,3,1,0,2,1)
des db 10        
Data ends
 
code segment
start: assume ds: Data, cs: code, ss: stack1
mov ax,Data
mov ds,ax
mov si,1
mov cx,15
mov ax,0
a1:mov al,a[si]
inc si
add al,a[si]
loop a1
cmp al,50
ja a2
 
mov cx,15
mov bx,0
mov si,1
mov dx,0
a3:mov ax,0
mov al,a[si]
div des
mov bl,ah
mov ah,02h
mov dl,al
mov dl,'0'
int 21h
mov dl,bl
mov dl,' '
int 21h
inc si
loop a3
jmp a4
 
a2:div des
mov bl,ah
mov ah,02h
mov dl,al
add dl,'0'
int 21h
mov dl,bl
add dl,'0'
int 21h
 
a4:mov ah,10h
int 16h
mov ah,4ch
int 21h
code ends
end start
0
Ушел с форума
Автор FAQ
16262 / 7587 / 1061
Регистрация: 11.11.2010
Сообщений: 13,609
18.11.2014, 16:39 4
Roy jones,
только через DosBox
0
1 / 1 / 1
Регистрация: 05.10.2013
Сообщений: 92
19.11.2014, 16:39  [ТС] 5
c dosboxом все понятно но я на xp запускал не пашет(выдает неверный результат), вроде прога правильно записана
0
1 / 1 / 1
Регистрация: 05.10.2013
Сообщений: 92
20.11.2014, 19:42  [ТС] 6
актуально
0
Мотороллер
21.11.2014, 09:03
  #7

Не по теме:

Цитата Сообщение от Mikl___ Посмотреть сообщение
только через DosBox
не всегда. мелкософт тянет V86 и по сей день, лишь бы 32 бита было. да и куда народ на x64 ползет, если по большому счету почти у всех стоит 4 гига памяти :scratch:

0
435 / 246 / 43
Регистрация: 05.08.2013
Сообщений: 1,670
23.11.2014, 14:36 8
отладчик юзай и говори где стопорится.
0
1 / 1 / 1
Регистрация: 05.10.2013
Сообщений: 92
23.11.2014, 15:23  [ТС] 9
какой отладчик надо использовать?
0
435 / 246 / 43
Регистрация: 05.08.2013
Сообщений: 1,670
23.11.2014, 16:01 10
turbo debugger или AFD или debug - какой больше нравится. главное точно описать проблему
0
1 / 1 / 1
Регистрация: 05.10.2013
Сообщений: 92
23.11.2014, 16:37  [ТС] 11
запустил с помощью отладчика, но не понял то что он вывел так что загрузил исходник и отладчик
Вложения
Тип файла: rar folder.rar (422.1 Кб, 6 просмотров)
0
programmer
2391 / 525 / 69
Регистрация: 01.06.2011
Сообщений: 3,639
01.12.2014, 16:43 12
Roy jones,

Assembler
1
2
35 mov dl,'0'  ;надо прибавить '0'
    add dl,'0'   ;правильно так.
0
1 / 1 / 1
Регистрация: 05.10.2013
Сообщений: 92
02.12.2014, 07:54  [ТС] 13
ошибка не в этом. Чтобы это показать использовал библиотеку ввода/вывода
т.е. проблема не в выводе
Прога все равно не работает
P.S. если поменять ga на gle то выдает -18431

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
include io.asm
stack1 segment
dw 128 dup(?)
stack1 ends
 
 
Data segment
A dw 15 dup(?)
des dw 10        
Data ends
 
code segment
start: assume ds: Data, cs: code, ss: stack1
mov ax,Data
mov ds,ax
mov si,1
mov cx,15
mov ax,0
a1: ININT ax              */
mov a[si],ax
inc si                       здесь используется библиотека ввода
inc si
loop a1                  /*
mov si,1
mov cx,15
a2:mov ax,A[si]
inc si
inc si
add ax,A[si]
loop a2
cmp al,50
jnz a3
 
OUTINT A[si]   // вывод
jmp a4
 
a3:OUTINT ax // вывод
 
a4:mov ah,10h
int 16h
mov ah,4ch
int 21h
code ends
end start
Добавлено через 1 час 52 минуты
uppp

Добавлено через 13 часов 1 минуту
upppp
0
02.12.2014, 07:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.12.2014, 07:54
Помогаю со студенческими работами здесь

Если сумма элементов массива > 0, переписать в массив В положительные элементы, иначе – отрицательные
Ввести массив А(n). Найти сумму элементов массива. Если она >0, переписать в массив В положительные...

Если соблюдено условие, присвоить переменной X сумму всех положительных чётных элементов массива, иначе - ноль
Если у массива А(30) есть элемент, равный В, то переменной Х присвоить значение, равное сумме всех...

Разработать функцию, возвращающую сумму первого и второго аргументов, если сумма больше 5, иначе - ноль
Разработать функцию типа int, что возвращает сумму первого и второго аргументов, если сумма большая...

Если сумма всех элементов массива чётная, вывести количество нечётных элементов массива
Дан массив, содержащий неотрицательные целые числа. Если сумма всех элементов массива чётная, нужно...


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

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

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