Объектно-ориентированное программирование на C++. Андрианова А.А - 125 стр.

UptoLike

Объектно-ориентированное программирование на С++
// метод выделения целой части рационального числа
void Fraction::GetIntPart()
{
if(numerator >= denominator)
{
intPart += (numerator / denominator);
numerator %= denominator;
}
}
Сокращение дроби осуществляется путем деления числителя и
знаменателя дроби на их наибольший общий делитель, который
вычисляется с помощью алгоритма Евклида.
// метод сокращения рациональной дроби
void Fraction::Cancellation()
{
if(numerator != 0)
{
int m = denominator,
n = numerator,
ost = m%n;
// вычисление НОД(числитель, знаменатель)
// алгоритмом Евклида
while(ost != 0)
{
m = n; n = ost;
ost = m % n;
}
int nod = n;
if(nod != 1)
{
numerator /= nod; denominator /= nod;
}
}
}
Деструктор класса выводит сообщение о том, что уничтожен объект
класса Fraction.
// деструктор дроби
Fraction::~Fraction()
{
cout << "Дробь " << (*this)
<< " уничтожена." << endl;
}
125
                          Объектно-ориентированное программирование на С++
    // метод выделения целой части рационального числа
    void Fraction::GetIntPart()
    {
         if(numerator >= denominator)
         {
              intPart += (numerator / denominator);
              numerator %= denominator;
         }
    }

    Сокращение дроби осуществляется путем деления числителя и
знаменателя дроби на их наибольший общий делитель, который
вычисляется с помощью алгоритма Евклида.

    // метод сокращения рациональной дроби
    void Fraction::Cancellation()
    {
         if(numerator != 0)
         {
              int m = denominator,
              n = numerator,
              ost = m%n;
              // вычисление НОД(числитель, знаменатель)
              // алгоритмом Евклида
              while(ost != 0)
              {
                   m = n; n = ost;
                   ost = m % n;
              }
              int nod = n;
              if(nod != 1)
              {
                   numerator /= nod; denominator /= nod;
              }
         }
    }
    Деструктор класса выводит сообщение о том, что уничтожен объект
класса Fraction.

    // деструктор дроби
    Fraction::~Fraction()
    {
         cout << "Дробь " << (*this)
                          << " уничтожена." << endl;
    }



                                                                       125