Форум программистов, компьютерный форум CyberForum.ru

Сложить два пятидесятизначных десятичных числа. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как найти мин. и макс. элементы массива? http://www.cyberforum.ru/cpp-beginners/thread225801.html
Как найти минимальный и максимальный элементы массива и их индексы,и заменить все отрицательные элементы на 0?) в С++
C++ Friend - класс шаблон Подскажите, пожалуйста, почему Visual C++ 2010 Express нормально компилирует код template <class NODETYPE> class QueueNode { ... template <class NODETYPE> friend class Queue; }; template <class NODETYPE> class Queue { ... } http://www.cyberforum.ru/cpp-beginners/thread225793.html
Произведение чисел C++
// Найдите наименьшее число n, чтобы произведение чисел от 2 до n делилось на 1992. #include <iostream> using namespace std; int main(void) {setlocale(LC_ALL,"Russian"); int n,a,pr=1; for (n=0;n<1992;n++) {pr=pr*(2+n); cout<<"#"<<n<<"---"<<pr<<endl; if(pr%1992==0)
Определить "Y" с точностью до члена ряда меньшего "e"(допустим: 0.001) C++
Требуется определить "Y" с точностью до члена ряда меньшего "e"(допустим: 0.001) Y=x/3-x^3/15+x^5/75-x^7/375...+-x^(2n+1) / 3*5^n ; |x|<=1 p.s. тема Р.С. пролетела мимо меня(по уважительным причинам)
C++ Опредилитель матрицы http://www.cyberforum.ru/cpp-beginners/thread225766.html
Не могу написать код реккурсивной ф-ии на С для подсчёта опредилителя матрцы nxn, помогите кто чем может: или кодом или алгоритмам зарание благодарю P.S. использовать реккурсию
C++ Упражнение Нужна помощь! Помогите решить упражнение, написав программы на языке С Написать функции для выполнения следующих операций: 1) Копировать строку из одного массива в другой. 2) Добавить символ в конец строки. 3) Присоединить одну строку к концу другой. 4) Подсчитать, сколько раз указанный символ встречается в строке. 5) Вставить символ в указанную позицию строки. 6) Вставить заданное... подробнее

Показать сообщение отдельно
sandye51
программист С++
682 / 584 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
09.01.2011, 02:34     Сложить два пятидесятизначных десятичных числа.
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
72
73
74
75
76
77
78
79
80
81
82
#include <iostream>
#include <algorithm>
#include <vector>
#include <ctime>
#include <cstdlib>
#include <string>
#include <sstream>
#include <conio.h>
#include <iterator>
 
using namespace std;
 
int gen()
{
    return rand() % 9 + 1;
}
 
void show(int a)
{
    std::cout << a;
}
 
int get_last_num(int n)
{
    int t = n % 10;
    return t;
}
 
int get_cnt_digit(int n)
{
    if(!n)
        return 1;
 
    std::ostringstream ost;
    ost << n;
    return ost.str().length();
}
 
std::vector<int> get_sum_nums(std::vector<int> &v1, std::vector<int> &v2, const size_t n)
{
    std::vector<int> v3;
 
    int t = 0;
    for(int i = n - 1; i >= 0; --i)
    {
        if(get_cnt_digit(v1[i] + v2[i] + t) == 2)
        {
            v3.push_back((v1[i] + v2[i] + t) % 10);
            t = (v1[i] + v2[i] + t) / 10;
        }
        else
        {
            v3.push_back(v1[i] + v2[i] + t);
            t = 0;
        }
    }
    v3.push_back(t);
    return v3;
}
 
int main()
{
    const size_t n = 50;
    std::vector<int> num_1(n), num_2(n), res;
    srand(static_cast<unsigned>(time(0)));
 
    std::generate(num_1.begin(), num_1.end(), gen);
    std::generate(num_2.begin(), num_2.end(), gen);
 
    res = get_sum_nums(num_1, num_2, n);
    if(res.size() == n + 1)
        cout << " ";
    copy(num_1.begin(), num_1.end(), std::ostream_iterator<int>(std::cout, ""));
    cout << endl;
    if(res.size() == n + 1)
        cout << " ";
    copy(num_2.begin(), num_2.end(), std::ostream_iterator<int>(std::cout, ""));
    cout << endl;
    std::copy(res.rbegin(), res.rend(), std::ostream_iterator<int>(std::cout, ""));
    _getch();
    return 0;
}

Не по теме:

немного поизменял ваш код, теперь работает все ОК.
насчет t забыли

 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru