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

Сложение длинных чисел

04.06.2015, 20:48. Показов 1850. Ответов 1
Метки нет (Все метки)

Здравствуйте, при решении задачи возникла ошибка при складывании элементов массивов. Получаются числа не являющиеся верным ответом к решению задачи.(например 7777777, 99999999, 55555555) Ошибка наверное в цикле, но я не могу её найти.
Вот сама задача: Даны две символьные строки, состоящие только из цифр (длина каждой более 10 символов). Считая, что в этих строках находятся очень длинные целые числа, сформировать третью строку – сумму этих чисел.




C++
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
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <malloc.h>
#include <string.h> 
using namespace std;
 
 
int main()
    {
    setlocale(LC_ALL,"Rus");
    char  text1[100],text2[100];
    int  textr[100],s1,s2,f,p,z;
    cout<<"Введите первое число "<<endl;
    gets(text1); 
    cout<<"Введите второе число "<<endl;
    gets(text2); 
    s1=strlen(text1);
    s2=strlen(text2);
    if (s1>s2)
        for (int i=s1-1; i>-1; i--)
        {
            int j=s2-1;
            p=text1[i]+text2[j];
            if (p>=10) 
            {
                textr[i-1]=textr[i-1]+1;
                z=p%10;
                textr[i]=z;
            }
            else textr[i]=p;
            j--;
        }
    else 
        for (int j=s2-1; j>-1; j--)
        {
            int i=s1-1;
            p=text1[i]+text2[j];
            if (p>=10) 
            {
                textr[j-1]+=1;
                z=p%10;
                textr[j]=z;
            }
            else textr[j]=p;
            i--;
        }
    if (s1>s2) f=s1;
    else f=s2;
    cout<<"Результат сложения ";
    for (int i=0; i<f; i++)
        cout<<""<<textr[i];
    _getch();
    return(0);
    }
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2015, 20:48
Ответы с готовыми решениями:

Сложение двух длинных чисел.
всем привет. как вы считаете, каким способом лучше сделать? или абсолютно всеравно?) ...

Вычислить сумму двух длинных бинарных чисел, используя сложение чисел в двоичной системе счисления
Задано положительное и отрицательное число в двоичной системе.Составить программу вычисления суммы...

Сложение длинных чисел в ассемблерной вставке
У меня есть класс: class Big_int { UINT64* num; //массив разрядов числа size_t s, cap; ...

Длинная арифметика. Сложение длинных чисел
Здравствуйте! Впервые за все время изучения C++ решил реализовать длинную арифметику, используя...

1
Модератор
Эксперт С++
12098 / 9771 / 5908
Регистрация: 18.12.2011
Сообщений: 26,229
04.06.2015, 21:47 2
Сложение/деление двух длинных чисел (длиной 1024 бита)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2015, 21:47
Помогаю со студенческими работами здесь

Сложение длинных чисел, содержащихся в строках
Даны две строки, которые содержат только цифры (длина каждой более 10 символов). Считая, что эти...

Длинная арифметика. Сложение длинных чисел
Добрый день, Киберфорум! Изучаю длинную арифметику и нашел вот такой простейший пример сложения...

Сделать сложение, вычитание, умножение и деление длинных чисел
В общем, задача такая, что надо сделать сложение, вычитание, умножение и деление длинных чисел....

Как реализовать хранение длинных чисел, их сложение и вычитание?
Бесконечно длинных чисел.


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

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

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