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

Длинная арифметика - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Организовать цикл http://www.cyberforum.ru/cpp-beginners/thread658132.html
Вот приболел, а на лабы нужно задание, сижу и не понимаю, что от меня хотят и как это делать. http://f1.s.qip.ru/G1CCNmsq.png Попытался написать что-то типо этого // test_101.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <stdio.h>
C++ Прервать работу програмы У меня вопрос , могу ли я как то прервать работу программы при невыполненни или выполнении условия? if ((defaultTemp > MaxTemp) or (MaxTemp <MinTemp)) std::cout<<"ERROR!!\n\n WRONG TEMPERATURE!!\n\n"; // прерывание программы else std::cout<<"Max temperature is "<<MaxTemp<<endl; http://www.cyberforum.ru/cpp-beginners/thread658118.html
Вывести вещественное число, равное делению первой переменной на вторую C++
Здравствуйте. Помогите пожалуйста с лабораторной... В языке С++ полный ноль, ничего не понимаю. Вот сами задания из лабы: 2. Опишите в программе две переменные целого типа и введите их значения с клавиату-ры. Выведите на экран вещественное число, равное делению первой переменной на вторую. (Используйте операцию деления /. При делении целых чисел эта операция возвращает толь-ко целую часть...
C++ Вывести ASCII–код символа в десятичном, восьмеричном и шестнадцатеричном виде
Здравствуйте. Помогите пожалуйста с лабораторной... В языке С++ полный ноль, ничего не понимаю. Вот сами задания из лабы: 3. Опишите в программе переменную символьного типа и введите ее значение с клавиа-туры. Выведите на экран ASCII–код введенного символа в десятичном, восьмеричном и ше-стнадцатеричном виде, а также символы – больший и меньший «сосед» данного по ASCII–коду. Заранее...
C++ Посчитать количество занятых клеток кроссворда http://www.cyberforum.ru/cpp-beginners/thread658107.html
Помогите,пожалуйста решить задачу. Кроссворд размещен в квадрате. Строки и столбцы квадрата нумеруются снизу вверх и слева направо, начиная с 1. Поля для слов располагаются горизонтально либо вертикально и задаются путем указания координат начальной и конечной клеток. Какая-либо сортировка при задании полей отсутствует. Два пересекающихся слова могут располагаться как на одной горизонтали либо...
C++ Поиск количества битов для типа Всё понятно, кроме вот этого ((log((double)a)/log((double)2))); Мы логарифм числа а(числа 2 147 483 647) делим на логарифм числа 2 (на калькуляторе 9.33/0.3 = 31 (всё это примерно)). 1).Так вот какое тут основание у логарифма я понять никак не могу? 2). И почему 2 147 483 647, а не все 4 миллиона? #include <stdio.h> #include <math.h> int main() { int a,i; подробнее

Показать сообщение отдельно
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
27.09.2012, 23:11     Длинная арифметика
vlad_light, немного поправил первые три функции. Вывод смотрится проще (как я раньше-то его не исправил?), конвертеры сразу переворачивают. Т.е. функция inverse больше не нужна.
Кликните здесь для просмотра всего текста
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
void Output (const std::string& str)
{
    std::cout << str;
}
 
std::vector<int> StrToInt (const std::string& str)
{
    std::vector<int> vec(str.crbegin(), str.crend());
 
    for (auto iter = vec.begin(); iter!= vec.end(); ++iter)
    {
        *iter -= '0';
    }
    return std::move(vec);
}
 
std::string IntToStr (const std::vector<int>& vec)
{
    std::string str(vec.crbegin(), vec.crend());
 
    for (auto iter = str.begin(); iter!= str.end(); ++iter)
    {
        *iter += '0';
    }
    return std::move(str);
}

Класс, если упрощенно, это совокупность данных и методов, которые работают с этими данными. Здесь в качестве данных было бы логично сделать массив, который хранит числа. А в качестве методов - арифметические операции над этими массивом.
Не надо создавать класс ради того, чтобы создать класс. Задайте сами себе вопрос - какой смысл в классе для длинной арифметики, у которого только 2 доступных метода - ввод и вывод.
Назовите класс уже традиционно big_int (BigInt или как больше нравится) и вперед) Советую для начала не лезть в перегрузку операторов. Просто разберитесь, что такое класс.
 
Текущее время: 07:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru