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

Написать элегантнее класс для сложения больших чисел - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Функция открывающая файл http://www.cyberforum.ru/cpp-beginners/thread1783891.html
есть функция open() для создания/пересоздания нового файла. Я не нашел функции, которая ищет уже существующий файл и открывает его. Подскажите, пожалуйста)
C++ Создание Windows Service Добрый день! Пытаюсь разобраться как писать вин сервисы, что это за зверь такой и зачем он вообще нужен) нашёл статью на Хабре https://habrahabr.ru/post/71533/ по аналогии как там написано пытался повторить что бы получить так же сервис который пишет в файл.. код ниже #include <QCoreApplication> #include <iostream> #include <Windows.h> #include <conio.h> #include <tchar.h> #include... http://www.cyberforum.ru/cpp-beginners/thread1783882.html
C++ Орел-решка, всегда одно и тоже значение
При компиляции каждый раз получаю ответ "Решка" #include <iostream> #include <cstdlib> using namespace std; int main() { setlocale(LC_CTYPE, "Russian"); int num = rand() % 2;
Сравнение двумерного масива C++
Здравствуйте, помогите плиз понять что и где я делаю не так. Что мне надо? Что бы сравнивалось по строчно первый столбец со всеми первыми столбцами и если они одинаковые сравнивался второй столбец этой же строчки со всеми вторыми столбцами и если они одинаковые сравнивался третий столбец этой же строки со всеми третими столбцами и если они одинаковые выводило 1, 2 , 3, 4 столбец этой строки на...
C++ Найти наименьший элемент и наименьший элемент по модулю http://www.cyberforum.ru/cpp-beginners/thread1783844.html
#include <iostream>; #include <ctime>; #include <cmath>; using namespace std; int main() { srand(time(NULL)); const int n=10; int myArray;
C++ Выделение памяти и вывод её содержимого на печать в консоль Здравствуйте, форумчане. Не подскажите, как в С++ выделить 1 кБайт памяти одним куском и вывести её содержание на экран консоли через cout ? подробнее

Показать сообщение отдельно
gng
631 / 477 / 130
Регистрация: 08.09.2013
Сообщений: 1,262
22.07.2016, 23:13     Написать элегантнее класс для сложения больших чисел
Цитата Сообщение от xTr1m Посмотреть сообщение
и куча переменных
Количество переменных можно уменьшить, например, за счет лаконичности и гибкости сишки, в отличие от тех же плюсов. [/сарказм]
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
#include <iostream>
#include <string>
 
std::string li_add (const std::string &v1, const std::string &v2)
{
  std::string v;
  int c = 0;
  for (const char *p1= v1.c_str(), *p2= v2.c_str(); *p1 || *p2 ; ) {
    c+= *p1 + *p2 -'0'-'0';
    v.push_back ( c % 10 + '0');
    c /= 10;
    if (*p1) ++p1; if (*p2) ++p2;
  }
  if (c) v.push_back (c + '0');
  return v;
}
 
int main (int ac, char *av[]) {
  std::string v1 = std::string (av[1]);
  std::string v2 = std::string (av[2]);
  std::string res = li_add (std::string(v1.rbegin(), v1.rend()), std::string(v2.rbegin(), v2.rend()));
  std::cout << std::string (res.rbegin(), res.rend()) << std::endl;
  return 0;
}
Добавлено через 7 часов 57 минут
PS. Исправление ошибки в строке 9
C++
1
c+= *p1 && *p2 ? *p1 + *p2 -'0'-'0': *p1 + *p2 - '0';
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru