0 / 0 / 0
Регистрация: 17.11.2015
Сообщений: 57
1

Сложение чисел, количество которых неизвестно заранее

29.03.2017, 15:56. Показов 1171. Ответов 3

Author24 — интернет-сервис помощи студентам
Задача состоит в том, что нужно сложить несколько восьмизначных чисел.
Сначала пользователь должен ввести количество чисел, а потом их объявить, после чего на экран должна быть выведена сумма. Как это лучше сделать? Есть код для сложения двух четырехзначных чисел, преобразовать нужно его.
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
    invoke WriteConsole,[Hconsl],text1,20,Writed,0
    invoke ReadConsole,[Hin],C,6,ns,0   
    
    xor ebx, ebx 
    
    ; Преобразование числа в ASCII-код
    mov dx, [C]
    and dl, 0Fh 
    add bl, dl  
    shl bx, 4   
    
    mov dx, [C+1]
    and dl, 0Fh
    add bl, dl
    shl bx, 4
 
    mov dx, [C+2]
    and dl, 0Fh
    add bl, dl
    shl bx, 4
 
    mov dx, [C+3]
    and dl, 0Fh
    add bl, dl
    
    mov [tempnum1], bx 
 
    ; Ввод второго числа
    invoke WriteConsole,[Hconsl],text2,21,Writed,0
    invoke ReadConsole,[Hin],D,6,ns,0
    
    xor ecx, ecx 
 
    ; Преобразование числа в ASCII-код
    mov dx, [D]
    and dl, 0Fh
    add cl, dl
    shl cx, 4
    
    mov dx, [D+1]
    and dl, 0Fh
    add cl, dl
    shl cx, 4
 
    mov dx, [D+2]
    and dl, 0Fh
    add cl, dl
    shl cx, 4
 
    mov dx, [D+3]
    and dl, 0Fh
    add cl, dl
    
    mov [tempnum2], cx 
 
            xor eax, eax
            xor ebx, ebx
            mov ax, [tempnum1] 
            mov bx, [tempnum2]
            add al, bl  
            daa 
            adc ah, 0h  
            ror ax, 8 
            ror bx, 8  
            add al, bl 
            daa 
    jnc mm 
            mov [MCR], 01h
mm: 
            rol ax, 8 
 
            xor esi,esi
            mov ecx, 4 
MMN: 
            mov bl, al
            and bl, 0Fh
            or bl, 030h
            mov [ascrez+4+esi], bl
            ror ax, 4
            dec esi
    loop MMN
            mov eax, [Hconsl]  
            mov esi, ascrez+1 
            mov edx, 4    
            invoke WriteConsole, eax,esi,edx,Writed,0
            invoke ExitProcess,1
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.03.2017, 15:56
Ответы с готовыми решениями:

Ввести последовательность чисел, количество которых заранее неизвестно
Ввести последовательность чисел, количество которых заранее не известно. Признаком окончания ввода...

Ввести последовательность чисел, количество которых заранее неизвестно
Ввести последовательность чисел, количество которых заранее не известно. Признаком окончания ввода...

Ввести массив целых чисел, количество элементов которого заранее неизвестно
Ввести массив целых чисел, количество элементов которого заранее неизвестно. Признаком конца ввода...

Ввести матрицу целых чисел, количество строк и столбцов которой заранее неизвестно. Ошибка в коде
И снова я..Уже четыре часа мучаюсь с заданием: Ввести матрицу целых чисел, количество строк и...

3
Модератор
Эксперт по электронике
8492 / 4349 / 1644
Регистрация: 01.02.2015
Сообщений: 13,503
Записей в блоге: 8
29.03.2017, 18:03 2
Поясните, что такое восьмизначное число.
0
0 / 0 / 0
Регистрация: 17.11.2015
Сообщений: 57
29.03.2017, 19:33  [ТС] 3
Сложить нужно, например, 12345678+87654321
0
Модератор
Эксперт по электронике
8492 / 4349 / 1644
Регистрация: 01.02.2015
Сообщений: 13,503
Записей в блоге: 8
29.03.2017, 21:42 4
Эти числа вполне умещаются в диапазон 32 бит (0..4'294'967'295), например, в регистр eax. Даже запас есть.

Не по теме:

Боюсь, что сейчас уже позднее время, а завтра я уезжаю на 1-2 дня. Смогу собрать программку только на выходных. Может быть кто-нибудь поможет раньше. Программка небольшая, просто нужно аккуратно её собрать.

0
29.03.2017, 21:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.03.2017, 21:42
Помогаю со студенческими работами здесь

Найдите сумму чисел, вводимых с клавиатуры. Количество вводимых чисел заранее неизвестно
Найдите сумму чисел, вводимых с клавиатуры. Количество вводимых чисел заранее неизвестно. Окончание...

Ввести массив целых чисел количество которых неизвестно
#include "stdafx.h" #include <iostream> #include <stdio.h> #include <conio.h> #include...

Работа со списками, когда их количество заранее неизвестно
Доброго времени суток. Я чайник в принципе в программировании и свое знакомство решила начать с...

Массив, в котором количество элементов заранее неизвестно
Добрый день! Подскажите пожалуйста, как сделать массив, в котором количество элементов заранее...


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

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

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