Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class Wymierna
- {
- private:
- int licznik;
- int mianownik;
- public:
- Wymierna();
- Wymierna(int);
- Wymierna(int, int);
- void ustaw_licznik(int);
- void ustaw_mianownik(int);
- void skroc();
- void wypisz_ulamek();
- double pobierz_wartosc();
- };
- int nwd(int a, int b)
- {
- if(a * b == 0)
- return 1;
- if(a < 0)
- a = -a;
- if(b < 0)
- b = -b;
- while(a != b)
- {
- if(a > b)
- a -= b;
- if(b > a)
- b -= a;
- }
- return a;
- }
- Wymierna::Wymierna() : licznik(0), mianownik(1) {} // konstruktor tworzący obiekt o wartości 0
- Wymierna::Wymierna(int liczba) : licznik(liczba), mianownik(1) {}
- Wymierna::Wymierna(int l, int m) : licznik(l), mianownik(m) {}
- void Wymierna::ustaw_licznik(int l)
- {
- licznik = l;
- }
- void Wymierna::ustaw_mianownik(int m)
- {
- mianownik = m;
- }
- void Wymierna::skroc()
- {
- int dzielnik = nwd(licznik, mianownik);
- licznik /= dzielnik;
- mianownik /= dzielnik;
- }
- void Wymierna::wypisz_ulamek()
- {
- cout << licznik << '/' << mianownik << endl;
- }
- double Wymierna::pobierz_wartosc()
- {
- return 1.0 * licznik / mianownik;
- }
- int main()
- {
- Wymierna A(8, 16);
- A.wypisz_ulamek();
- A.skroc();
- A.wypisz_ulamek();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment