Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- struct rational
- {
- double a;
- double b;
- };
- int gcd(int a, int b)
- {
- a = abs(a), b = abs(b);
- if (b == 0)return a;
- else return gcd(b, a%b);
- }
- void sokrdrob(int a, int b)
- {
- int x = gcd(a, b);
- a /= x;
- b /= x;
- cout << a << " " << b;
- }
- /////////////
- rational create_rational()
- {
- rational p;
- cout << "enter 4islitel=";
- cin >> p.a;
- cout << "enter znamenatel=";
- cin >> p.b;
- return p;
- }
- //////////////////
- void show(rational p)
- {
- cout << p.a << "/ " << p.b << endl;
- }
- ///////////////////////////////////
- rational add(rational p, rational q)
- {
- rational temp;
- if (p.b != q.b)
- {
- temp.b = p.b * q.b;
- temp.a = p.a*q.b + q.a*p.b;
- }
- else
- {
- temp.a = p.a + q.a;
- temp.b = p.a;
- }
- return temp;
- }
- //////////////////////////
- rational subtr(rational p, rational q)
- {
- rational temp;
- if (p.b != q.b)
- {
- temp.b = p.b * q.b;
- temp.a = p.a*q.b - q.a*p.b;
- }
- else
- {
- temp.a = p.a - q.a;
- temp.b = p.a;
- }
- return temp;
- }
- //////////////////////////
- rational mult(rational p, rational q)
- {
- rational temp;
- temp.a = p.a*q.a;
- temp.b = p.b*q.b;
- return temp;
- }
- ////////////////////////////
- //////////////////////////////
- rational div(rational p, rational q)
- {
- rational temp;
- temp.a = p.a*q.b;
- temp.b = p.b*q.a;
- return temp;
- }
- ////////////////////
- void main()
- {
- rational p, q;
- cout << " enter rational p:" << endl;
- p = create_rational();
- cout << " enter rational q:" << endl;
- q = create_rational();
- cout << " rational number p: ";
- show(p);
- cout << " rational number q: ";
- show(q);
- rational u = add(p, q);
- cout << " rational number u=p+q u: ";
- show(u);
- u = subtr(p, q);
- cout << " rational number u=p-q u: ";
- show(u);
- u = mult(p,q);
- cout << " rational number u=p*q u: ";
- show(u);
- u = div(p,q);
- cout << " rational number u=(p/q) u: ";
- show(u);
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment