GithubHelp home page GithubHelp logo

dm's Introduction

Документация по структурам больших чисел

1. Натуральные числа BigNatural

Структура

Структура натурального числа состоит из двух объектов.

int *coef; // динамический массив, где каждая ячейка это цифра в натуральном большом числе
int size; // количество цифр в числе
ВАЖНО!!! В массиве coef цифры хранятся от младших разрядов к старшим.

Создав экземпляр данной структуры, к ее данным вы можете обращаться следующим образом:

BigNatural BigN();
/*
*работа с числом
*/
cout<<BigN.size; //выводит количество цифр в числе
cout<<BigN.coef[i] // выведет i-ю цифру отсчитывая от младшей степени

Конструкторы:

BigNatural(const BigNatural & BigN); // передать другой объект BigNatural
BigNatural(int * coef, int size); // адрес на массив с цифрами(от меньшего разряда к большему), количество цифр
BigNatural(std::string string);//строка - число
BigNatural(int number); //передаем не длинное число
 //операция присваивания
BigNatural& operator=(BigNatural const& BigN);

Методы

std::string ToString(); // возвращает строку, в котором хранится большое число
cout<<BigN.ToString();

2. Целые числа BigInteger

Структура

    Sign sign; //Знак числа
    BigNatural number; //Модуль числа

Если наше число положительно, то sign возвращает plus_sign, если отрицательное minus_sign. Конструкторы:

BigInteger(const BigInteger & BigInt);//передаем другой объект BigInteger
BigInteger(int number); // передаем целое число
BigInteger(std::string string); // передаем число в виде строки
//операция присваивания
BigInteger& operator=(BigInteger const& BigInt);

Методы

std::string ToString(); // возвращает строку с целым числом

3. Рациональная дробь RationalFraction

Структура

BigInteger numenator; //числитель - целое число
BigNatural denominator; //знаменатель - натуральное число

Конструкторы:

RationalFraction(const RationalFraction & RacF);//передаем другую рациональную дробь
RationalFraction(std::string numenator, std::string denominator); // передаем два string - числитель и знаменатель
//операция присваивания
RationalFraction& operator=(RationalFraction const& RacF);

Методы

std::pair<std::string,std::string> ToString();//возвращает значения числителя и знаменателя с помощью конструктора pair.
pair.first;//обращение к первому элементу пары
pair.second;//обращение ко второму элементу пары

4. Многочлен Polynom

Структура

int degree;//степень многочлена
RationalFraction* coef;//динамический массив, элементы которого - RationalFraction т.к. коэффициенты многочлена - это рациональные дроби

Коэффициенты в массиве хранятся от большей степени к меньшей, а не наоборот, как это было сделано для натуральных чисел.

Конструкторы:

    Polynom(RationalFraction* coef, int degree);//массив из RationalFraction, степень многочлена
    Polynom(const Polynom & polynom);//другой полином
    Polynom(std::vector<std::pair<std::string,std::string>> pol, int degree);//есть возможность задать многочлен как вектор пар числителя и знаменателя
    //операция присваивания
    Polynom& operator=(Polynom const& polynom);

Методы

std::vector<std::pair<std::string,std::string>> ToString();//возвращаем векторы пар числителя и знаменателя, последний элемент вектора - пара <"end","end">, для того, чтобы понять, до какого элемента делать вывод.

dm's People

Contributors

s1ckick avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.