Advertisement
MeehoweCK

Untitled

Nov 5th, 2020
717
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.89 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int nwd(int a, int b)
  6. {
  7.     if(a < 0) a = -a;
  8.     if(b < 0) b = -b;
  9.  
  10.     while(a != b)
  11.     {
  12.         if(a > b)
  13.             a -= b;
  14.         if(b > a)
  15.             b -= a;
  16.     }
  17.     return a;
  18. }
  19.  
  20. class Wymierna
  21. {
  22.     // pola prywatne:
  23.     int licznik;
  24.     int mianownik;
  25. public:     // metody publiczne
  26.     Wymierna();     // konstruktor - metoda tworz¹ca obiekt
  27.     Wymierna(int);
  28.     Wymierna(int, int);
  29.     void set_licznik(int);
  30.     void set_mianownik(int);
  31.     int get_licznik();
  32.     int get_mianownik();
  33.     void wypisz();
  34.     double get_wartosc();
  35. };
  36.  
  37. Wymierna::Wymierna()
  38. {
  39.     // konstruktor wype³nia pola prywatne jakimiœ pocz¹tkowymi wartoœciami:
  40.     licznik = 0;
  41.     mianownik = 1;
  42. }
  43.  
  44. Wymierna::Wymierna(int liczba)
  45. {
  46.     licznik = liczba;
  47.     mianownik = 1;
  48. }
  49.  
  50. Wymierna::Wymierna(int l, int m)
  51. {
  52.     int x = nwd(l, m);
  53.     licznik = l/x;
  54.     mianownik = m/x;
  55. }
  56.  
  57. void Wymierna::set_licznik(int l)
  58. {
  59.     licznik = l;
  60.     int x = nwd(licznik, mianownik);
  61.     licznik /= x;
  62.     mianownik /= x;
  63. }
  64.  
  65. void Wymierna::set_mianownik(int m)
  66. {
  67.     if(m == 0)
  68.     {
  69.         cout << "Nie mozna przypisac mianownikowi wartosci 0\n";
  70.         return;
  71.     }
  72.     mianownik = m;
  73.     int x = nwd(licznik, mianownik);
  74.     licznik /= x;
  75.     mianownik /= x;
  76. }
  77.  
  78. int Wymierna::get_licznik()
  79. {
  80.     return licznik;
  81. }
  82.  
  83. int Wymierna::get_mianownik()
  84. {
  85.     return mianownik;
  86. }
  87.  
  88. void Wymierna::wypisz()
  89. {
  90.     if(mianownik == 1)
  91.     {
  92.         cout << licznik << endl;
  93.         return;
  94.     }
  95.     cout << licznik << '/' << mianownik << endl;
  96. }
  97.  
  98. double Wymierna::get_wartosc()
  99. {
  100.     return 1.0 * licznik / mianownik;
  101. }
  102.  
  103. Wymierna suma(Wymierna A, Wymierna B)
  104. {
  105.     // kod
  106. }
  107.  
  108. int main()
  109. {
  110.     Wymierna A(5, 3);
  111.     Wymierna B(7, 4);
  112.    
  113.     Wymierna C = suma(A, B);
  114.    
  115.     C.wypisz();
  116.  
  117.     return 0;
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement