Advertisement
kutuzzzov

Урок 4

Sep 16th, 2022 (edited)
393
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.79 KB | None | 0 0
  1. #include <numeric>
  2.  
  3. using namespace std;
  4.  
  5. class Rational {
  6. public:
  7.     Rational() = default;
  8.  
  9.     Rational(int numerator)
  10.         : numerator_(numerator)
  11.     {
  12.     }
  13.  
  14.     Rational(int numerator, int denominator)
  15.         : numerator_(numerator), denominator_(denominator)
  16.     {
  17.         Normalize();
  18.     }
  19.  
  20.     int Numerator() const {
  21.         return numerator_;
  22.     }
  23.  
  24.     int Denominator() const {
  25.         return denominator_;
  26.     }
  27.  
  28. private:
  29.     void Normalize() {
  30.         if (denominator_ < 0) {
  31.             numerator_ = -numerator_;
  32.             denominator_ = -denominator_;
  33.         }
  34.         const int divisor = gcd(numerator_, denominator_);
  35.         numerator_ /= divisor;
  36.         denominator_ /= divisor;
  37.     }
  38.  
  39.     int numerator_ = 0;
  40.     int denominator_ = 1;
  41. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement