Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <numeric>
- using namespace std;
- class Rational {
- public:
- Rational() = default;
- Rational(int numerator): numerator_(numerator), denominator_(1) {
- }
- Rational(int numerator, int denominator): numerator_(numerator), denominator_(denominator){
- Normalize();
- }
- int Numerator() const {
- return numerator_;
- }
- int Denominator() const {
- return denominator_;
- }
- private:
- void Normalize() {
- if (denominator_ < 0) {
- numerator_ = -numerator_;
- denominator_ = -denominator_;
- }
- const int divisor = gcd(numerator_, denominator_);
- numerator_ /= divisor;
- denominator_ /= divisor;
- }
- int numerator_ = 0;
- int denominator_ = 1;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement