Предмет: Информатика,
автор: Tomfulp
Даны два целых неотрицательных числа A и B. Требуется найти их сумму.
Формат входных данных
Во входном файле записаны целые неотрицательные числа A и B по одному в строке (A, B < 10^100).
Формат выходных данных
В выходной файл выведите единственное число без лидирующих нулей: A+B.
Сделать задачу на языке C++. Алгоритм: длинная арифметика.
Ответы
Автор ответа:
0
Весь код в прикрепленках. Нужно просто откомпилировать в любом IDE. Если есть вопросы, пиши в коментариях, всё объясню. Запустив программу, нужно просто указать полный путь к файлу, в котором записаны два числа. В каждом ряду записываешь по 1 числу. Максимальная длина числа в данном формате файла - 1024 символа. Поменяй на произвольный формат файла, к примеру "myFile.myextention", а так же укажи больший размер переменной в main функции, в которую считывается файл и всё, можешь писать любую длину числа, главное отбей сновой строки каждое.
Приложения:
Автор ответа:
0
#ifndef CBIGNUMBER_H
#define CBIGNUMBER_H
#include <vector>
#include <string>
#include <memory>
using namespace std;
#define CBIGNUMBER_H
#include <vector>
#include <string>
#include <memory>
using namespace std;
Автор ответа:
0
class CBigNumber
{
public:
explicit CBigNumber(const string& str = "0");
~CBigNumber();
void setNumber(const string& str);
const string& getNumberString() const;
const vector<int>& getNumberVector() const;
CBigNumber operator +(const CBigNumber& bigNumber) const;
bool operator <(const CBigNumber& bigNumber) const;
private:
vector<int> numbersArray_;
string numberInString_;
{
public:
explicit CBigNumber(const string& str = "0");
~CBigNumber();
void setNumber(const string& str);
const string& getNumberString() const;
const vector<int>& getNumberVector() const;
CBigNumber operator +(const CBigNumber& bigNumber) const;
bool operator <(const CBigNumber& bigNumber) const;
private:
vector<int> numbersArray_;
string numberInString_;
Автор ответа:
0
private:
void initializeBigNum(const string& str);
void alignNumberCells();
string convertArrayNumFormToString();
bool isStringValid(const string& str) const;
bool isFirstNumberLowest(const CBigNumber& firstNumber, const CBigNumber& secondNumber) const;
};
#endif // CBIGNUMBER_H
void initializeBigNum(const string& str);
void alignNumberCells();
string convertArrayNumFormToString();
bool isStringValid(const string& str) const;
bool isFirstNumberLowest(const CBigNumber& firstNumber, const CBigNumber& secondNumber) const;
};
#endif // CBIGNUMBER_H
Автор ответа:
0
Ты бы не мог решить эту задачу на языке С++ с алгоритмом длинная арифметика? Подсказка такая: char a[100]; cin.getline[a,100]; Я слабый и тупой по информатике
Автор ответа:
0
создавай новый вопрос - кидай ссылку на него в лс.
Похожие вопросы
Предмет: Математика,
автор: Аноним
Предмет: Українська література,
автор: nadiiabahlau
Предмет: География,
автор: cuser0228
Предмет: Биология,
автор: STALKERtik
Предмет: История,
автор: алинкакриперша