MeehoweCK

Untitled

Nov 23rd, 2020
423
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct Ulamek
  5. {
  6.     int licznik;
  7.     int mianownik;
  8. };
  9.  
  10. int nwd(int a, int b)
  11. {
  12.     while(a != b)
  13.     {
  14.         if(a > b)
  15.             a -= b;
  16.         if(b > a)
  17.             b -= a;
  18.     }
  19.     return a;
  20. }
  21.  
  22. Ulamek suma(Ulamek A, Ulamek B)
  23. {
  24.     Ulamek wynik;
  25.     wynik.licznik = A.licznik * B.mianownik + A.mianownik * B.licznik;
  26.     wynik.mianownik = A.mianownik * B.mianownik;
  27.     int d = nwd(wynik.licznik, wynik.mianownik);
  28.     wynik.licznik /= d;
  29.     wynik.mianownik /= d;
  30.     return wynik;
  31. }
  32.  
  33. int main()
  34. {
  35.     int q;
  36.     cin >> q;
  37.     int tablica[4 * q];
  38.     for(int i = 0; i < 4 * q; ++i)
  39.         cin >> tablica[i];
  40.  
  41.     Ulamek A, B, wynik;
  42.     for(int i = 0; i < 4 * q; i += 4)
  43.     {
  44.         A.licznik = tablica[i];
  45.         A.mianownik = tablica[i + 1];
  46.         B.licznik = tablica[i + 2];
  47.         B.mianownik = tablica[i + 3];
  48.         wynik = suma(A, B);
  49.         cout << wynik.licznik << ' ' << wynik.mianownik << endl;
  50.     }
  51. }
RAW Paste Data