Hollowfires

Untitled

Dec 5th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1.  
  2. #include <iostream>
  3. #include <iomanip>
  4.  
  5. using namespace std;
  6.  
  7. class Rational
  8. {
  9. private:
  10. void reduce()
  11. {
  12. int temp = num;
  13. num = num/gcd(num,denom);
  14. denom = denom/gcd(temp,denom);
  15. }
  16. //numerator variable
  17. int num;
  18. //denominator variable
  19. int denom;
  20.  
  21. int gcd(int n, int d)
  22. {
  23. if ( n % d == 0 ) // base case
  24. return d;
  25. else
  26. return gcd(d, n % d);
  27. }
  28.  
  29. public:
  30. Rational(int n, int d)
  31. {
  32. num = n;
  33. denom = d;
  34. reduce();
  35. }
  36.  
  37. friend ostream & operator<<(ostream &out, const Rational &obj)
  38. {
  39. out << "[" << obj.num << "/" << obj.denom << "]";
  40. return out;
  41. }
  42. };
  43.  
  44.  
  45.  
  46. int main()
  47. {
  48. int num = 0;
  49. int denom = 1;
  50. int gcd;
  51.  
  52. cout << "Enter a numerator. \n";
  53. cin >> num;
  54. cout << "\nEnter a denominator. \n";
  55. cin >> denom;
  56.  
  57. Rational fraction(num, denom);
  58.  
  59.  
  60.  
  61. cout << fraction << endl;
  62.  
  63. return 0;
  64.  
  65.  
  66.  
  67. }
Advertisement
Add Comment
Please, Sign In to add comment