Добавление больших целых чисел в C++C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Добавление больших целых чисел в C++

Сообщение Anonymous »

Вопрос:

В C++ наибольшее значение int равно 2147483647. Поэтому целое число, большее этого, невозможно сохранить и обработать. как целое число. Аналогично, если сумма или произведение двух положительных целых чисел больше 2147483647, результат будет неверным. Один из способов хранения больших целых чисел и манипулирования ими — хранить каждую отдельную цифру числа в массиве. Напишите программу, которая вводит два положительных целых числа длиной не более 20 цифр и выводит сумму этих чисел. Если сумма чисел превышает 20 цифр, выведите сумму с соответствующим сообщением.

Я продолжаю получать выходные данные с некоторыми случайными числами после ввода например, цифры.

Код: Выделить всё

#include
#include
using namespace std;

int main()
{
int n1[20] , n2[20] ;
int sum[21];
int carry = 0;
char x1[21], x2[21];
cout > x1;
cout > x2;
for (int i = 0; i < 20; i++)
{
n1[i] = x1[i] - '0';
n2[i] = x2[i] - '0';
}
for (int i = 20; i >= 0; i--)
{
if (i != 0)
{
sum[i] = n1[i - 1] + n2[i - 1] + carry;
if (sum[i] > 9)
{
carry = 1;
sum[i] = sum[i] - 10;
}
else
{
carry = 0;
}
}
else
{
if (carry != 0)
{
sum[i] = carry;
}
else
{
for (int j = 0; j < 20; j++)
{
sum[j] = sum[j + 1];
}
}
}
}
cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/78310170/adding-large-integers-in-c[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»