Advertisement
boyan16-z

Fraction

Apr 5th, 2018
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.89 KB | None | 0 0
  1. // Класс "Дробь"
  2. //
  3.  
  4. #include "stdafx.h"
  5.  
  6. class Divisor {
  7. private:
  8.     int m_numerator;
  9.     int m_denominator;
  10. public:
  11.     Divisor(int n, int d) {
  12.         m_numerator = n;
  13.         m_denominator = d;
  14.     }
  15.  
  16.     int getNumerator() {
  17.         return m_numerator;
  18.     }
  19.  
  20.     int getDenominator() {
  21.         return m_denominator;
  22.     }
  23.  
  24.     double module() {
  25.         return (double)m_numerator / m_denominator;
  26.     }
  27.  
  28.     int biggestDivisor() {
  29.         int a = (m_numerator >= m_denominator) ? m_numerator : m_denominator;
  30.         int b = (m_numerator < m_denominator) ? m_numerator : m_denominator;
  31.         while (b != 0) {
  32.             int r = a % b;
  33.             a = b;
  34.             b = r;
  35.         }
  36.         return a;
  37.     }
  38. };
  39.  
  40. int main()
  41. {
  42.     Divisor div1(9, 3);
  43.     double m1 = div1.module();
  44.     printf("%f\n", m1);
  45.     Divisor div2(1, 2);
  46.     double m2 = div2.module();
  47.     printf("%f\n", m2);
  48.     Divisor div3(12, 18);
  49.     int biggest = div3.biggestDivisor();
  50.     printf("%d\n", biggest);
  51.     return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement