Форум программистов, компьютерный форум, киберфорум
Наши страницы

Работа с классами(длинная арифметика)! / С++ для начинающих - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти кратчайший маршрут http://www.cyberforum.ru/cpp-beginners/thread1212323.html
Найти кратчайший маршрут, который начинается и завершается в заданной вершине ориентированному графу, проходя через все его вершины (если такой маршрут существует).
C++ Учебный план подготовки специалистов Учебный план подготовки специалистов содержит сведения об названия дисциплин и количество учебных часов по каждой. Выбрать из учебного плана любой блок дисциплин, состоящий не менее чем из 5... http://www.cyberforum.ru/cpp-beginners/thread1212322.html
C++ Работа с классами(длинная арифметика)!
можете кто-нибудь посмотреть правильно ли я делаю!!! class LongLong { private: char * longNumber; int _size; public: LongLong(const char *number = NULL); LongLong(unsigned int);
C++ проверьте программу на наличие ошибок
скачал курсовую работу) проверьте пожалуйста, верно ли все сделано или где-то чего-то не хватает? #include <iostream> #include <iomanip> #include <ctime> #include <conio.h> using namespace std;...
C++ 8. Описать структуры для декартовых (x, y) и полярных (r, pi) координат http://www.cyberforum.ru/cpp-beginners/thread1212238.html
8. Описать структуры для декартовых (x, y) и полярных (r, pi) координат. Определить функцию для перевода из полярных в декартовы координаты. с коментариями
C++ Вывести в файл все простые номера счастливых билетов Вывести в файл все простые номера счастливых билетов. подробнее

Показать сообщение отдельно
Serj123
1 / 1 / 0
Регистрация: 30.05.2014
Сообщений: 49

Работа с классами(длинная арифметика)! / С++ для начинающих - C++

19.06.2014, 15:47. Просмотров 135. Ответов 0
Метки (Все метки)

можете кто-нибудь посмотреть правильно ли я делаю!!!
особенно интересует место с перегрузкой сложения
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
LongLong operator+ (const LongLong &first, const LongLong &second)
{
 
int j, d1, d2, digitsum, carry = 0,
maxlen = (first._size > second._size) ? first._size : second._size;
char *temp = new char[maxlen + 2]; assert(temp != NULL);
 
for ( j = 0; j<maxlen; j++)
{
d1 = (j > first._size - 1) ? 0 : first.longNumber[j] - '0';
d2 = (j > second._size - 1) ? 0 : second.longNumber[j] - '0';
digitsum = d1 + d2 + carry;
if (digitsum >= 10)
{
digitsum -= 10;
carry = 1;
}
else
carry = 0;
temp[j] = digitsum + '0';
}
 
if (carry)
temp[j++] = '1';
 
temp[j] = '\0';
second.strrev(temp);
LongLong result(temp);
delete[] temp;
 
return result;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru