Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/55: Рейтинг темы: голосов - 55, средняя оценка - 4.98
1 / 1 / 0
Регистрация: 15.09.2018
Сообщений: 51

Как вывести большое число на экран

25.11.2018, 14:31. Показов 10628. Ответов 5

Студворк — интернет-сервис помощи студентам
Как вывести 30 значное число на экран, есть пример 987654321987654*123456789123456=в итоге получается 30 значное число, и я не знаю как его вывести на экран
вот код задания:
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include<iostream>
#include<iomanip>
#include<cmath>
#include<sstream>
using namespace std;
int main()
{
    setlocale(LC_ALL, "ru");
        int size;
        cout << "Введите количество элеметнов массива: ";
        cin >> size;
        int arr[15];
        cout << "Введите массив: " << endl;
        for (int i = 0; i < 15; i++)
        {
            cin >> arr[i];
        }
        stringstream ss;
        for (unsigned i = 0; i < sizeof arr / sizeof arr[0]; ++i)
            ss << arr[i];
        unsigned long long int result;
        ss >> result;
        cout << "Число 1: " << result << endl;
 
 
        int size1;
        cout << "Введите количество элеметнов массива: ";
        cin >> size1;
        int arr1[15];
        cout << "Введите массив: " << endl;
        for (int i = 0; i < 15; i++)
        {
            cin >> arr1[i];
        }
        stringstream ss1;
        for (unsigned i = 0; i < sizeof arr1 / sizeof arr1[0]; ++i)
            ss1 << arr1[i];
        unsigned long long int result1;
        ss1 >> result1;
        cout << "Число 2: " << result1 << endl;
    
            
        unsigned long long int summa=0;
        summa = result + result1;
        cout << "Сумма: " << summa << endl;
 
        unsigned long long int raznost = 0;
        raznost = result - result1;
        cout << "Разность: " << raznost << endl;
 
        long double delenie = 0;
        delenie = result / result1;
        cout << "Частное: " << delenie << endl;
 
        unsigned long long int proiz = 0;
        proiz = result * result1;
        cout << "Произведение: " << proiz << endl;
        
        if (result > result1)
            cout << "Число 1 больше, чем число 2." << endl;
         else if (result < result1)
            cout << "Число 2 больше, чем число 1." << endl;
         else
        {
            cout << "Числа равны!" << endl;
        }
 
    
    system("pause");
    return 0;
}
вот тут не знаю как вывести
C++
1
2
3
unsigned long long int proiz = 0;
        proiz = result * result1;
        cout << "Произведение: " << proiz << endl;
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.11.2018, 14:31
Ответы с готовыми решениями:

Как преобразовать большое число int64 в VARIANT чтобы затем его вывести на экран
Работаю с WMI,получаю размер диска. Тип данных int64 (согласно докам MSDN), после операции Get получаем переменную vtProp типа VARIANT,...

Определить самое большое число подряд идущих единиц и вывести на экран индексы начала и конца диапазона
Прошу помочь решить задачу. Вот ее условия: Заполните массив из 100 элементов случайным образом 0 и 1. Определите самое большое к-во...

Как вывести большое число с плаваюшей точкой
В программе 10000 элементов массива от 0 до 1(типа z1=0.9999,z2=0.8878 и тд), хочу подсчитать сумму и поделить на количество. 2000 норм...

5
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
25.11.2018, 16:07
Лучший ответ Сообщение было отмечено Дарья1907 как решение

Решение

Попробуй использовать мою функцию
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <cstdio>
 
typedef unsigned long long ull;
 
void print_result(ull a, const ull b, ull c) {
    if(a) {
        c = c + a % 10 * b;
        print_result(a / 10, b, c / 10);
        printf("%I64d", c % 10);
    } else if(c) {
        printf("%I64d", c);
    }
}
 
int main() {
    print_result(987654321987654ULL, 123456789123456ULL, 0ULL);
    return 0;
}
1
1 / 1 / 0
Регистрация: 15.09.2018
Сообщений: 51
25.11.2018, 20:41  [ТС]
no swear, а можно как-то задавать не в параметрах функции, ведь если число будет другое, то уже не правильно сработает
0
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
25.11.2018, 20:57
Так сойдёт? Просто вызывайте мою функцию со своими переменными
C++
1
print_result(result, result1, 0ULL);
1
31 / 15 / 7
Регистрация: 08.01.2019
Сообщений: 636
25.05.2019, 19:48
Цитата Сообщение от no swear Посмотреть сообщение
void print_result(ull a, const ull b, ull c)
Почему б константа?
Цитата Сообщение от no swear Посмотреть сообщение
printf("%I64d", c);
как заменить на cout?
Цитата Сообщение от no swear Посмотреть сообщение
print_result(result, result1, 0ULL);
Что значит 0ULL?
Цитата Сообщение от no swear Посмотреть сообщение
print_result(result, result1, 0ULL);
делал
C++
1
2
3
4
5
freopen("numbers.txt", "r",stdin);
    freopen("result.txt","w",stdout);
    unsigned long long a,b;
    std::cin >> a >> b;
    print_result(a, b, 0ULL);
Вывело правильно, но потом сколько бы я раз не повторял и какие бы файлы не не писал вводить один и тот же ответ, причем неверный
За ранние спасибо!
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
25.05.2019, 20:54
Цитата Сообщение от Дарья1907 Посмотреть сообщение
Как вывести 30 значное число на экран, есть пример 987654321987654*123456789123456=в итоге получается 30 значное число, и я не знаю как его вывести на экран
вот код задания:
Проблема здесь не в выводе, а в том, что ты пытаешься умножать два больших 64-битных числа. Результат имеет вдвое большую разрядность, 128 бит, т.е. в unsigned long long int proiz он тупо не помещается, возникает переполнение.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.05.2019, 20:54
Помогаю со студенческими работами здесь

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

Вывести самое большое число за 24 часа
Как вывести за последние 24 часа самое большое число В базе данные записаны таким способом time() Таблица дат: dates, таблица числа:...

Вывести самое большое число системы
Привет, как написать программку, которая высчитывает и выдает самое большое unsigned int Число моей систему, не использовая sizeof,...

Вывести самое большое четырёхзначное число из цифр заданного
Условие в заголовке. Заранее спасибо))

Ввести пять двухзначных чисел и вывести на экран самое большое из них
Всем привет!!!Помогите!Я тут новичок ;). Нужно решить задачу: нужно ввести пять цифр (двухзначные) и вывести на экран самый большой из...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru