Aleksandr_Grigoryev

Cтруктуры

Mar 12th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.92 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. struct rational
  4. {
  5.     double a;
  6.     double b;
  7. };
  8.  
  9. int gcd(int a, int b)
  10. {
  11.     a = abs(a), b = abs(b);
  12.     if (b == 0)return a;
  13.     else return gcd(b, a%b);
  14. }
  15. void sokrdrob(int a, int b)
  16. {
  17.     int x = gcd(a, b);
  18.     a /= x;
  19.     b /= x;
  20.     cout << a << " " << b;
  21. }
  22. /////////////
  23. rational create_rational()
  24. {
  25.     rational p;
  26.     cout << "enter 4islitel=";
  27.     cin >> p.a;
  28.     cout << "enter znamenatel=";
  29.     cin >> p.b;
  30.     return p;
  31. }
  32. //////////////////
  33. void show(rational p)
  34. {
  35.     cout << p.a << "/ " << p.b << endl;
  36. }
  37. ///////////////////////////////////
  38. rational add(rational p, rational q)
  39. {
  40.     rational temp;
  41.     if (p.b != q.b)
  42.     {
  43.         temp.b = p.b * q.b;
  44.         temp.a = p.a*q.b + q.a*p.b;
  45.     }
  46.     else
  47.     {
  48.         temp.a = p.a + q.a;
  49.         temp.b = p.a;
  50.     }
  51.     return temp;
  52. }
  53. //////////////////////////
  54. rational subtr(rational p, rational q)
  55. {
  56.     rational temp;
  57.     if (p.b != q.b)
  58.     {
  59.         temp.b = p.b * q.b;
  60.         temp.a = p.a*q.b - q.a*p.b;
  61.     }
  62.     else
  63.     {
  64.         temp.a = p.a - q.a;
  65.         temp.b = p.a;
  66.     }
  67.     return temp;
  68. }
  69. //////////////////////////
  70. rational  mult(rational p, rational q)
  71. {
  72.     rational temp;
  73.     temp.a = p.a*q.a;
  74.     temp.b = p.b*q.b;
  75.     return temp;
  76. }
  77. ////////////////////////////
  78.  
  79.  
  80. //////////////////////////////
  81. rational div(rational p, rational q)
  82. {
  83.     rational temp;
  84.     temp.a = p.a*q.b;
  85.     temp.b = p.b*q.a;
  86.     return temp;
  87. }
  88.  
  89. ////////////////////
  90. void main()
  91. {
  92.     rational p, q;
  93.     cout << " enter rational p:" << endl;
  94.     p = create_rational();
  95.     cout << " enter rational q:" << endl;
  96.     q = create_rational();
  97.     cout << "  rational number p:   ";
  98.     show(p);
  99.     cout << "  rational number q:   ";
  100.     show(q);
  101.     rational u = add(p, q);
  102.     cout << "  rational number u=p+q u:   ";
  103.     show(u);
  104.     u = subtr(p, q);
  105.     cout << "  rational number u=p-q u:   ";
  106.     show(u);
  107.     u = mult(p,q);
  108.     cout << "  rational number u=p*q u:   ";
  109.     show(u);
  110.     u = div(p,q);
  111.     cout << "  rational number u=(p/q) u:   ";
  112.     show(u);
  113.     system("pause");
  114. }
Advertisement
Add Comment
Please, Sign In to add comment