Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int NWD(int a, int b) // ze strony I LO w tarnowie :)
- {
- int pom;
- while(b!=0)
- {
- pom = b;
- b = a%b;
- a = pom;
- }
- return a;
- }
- class Ulamek
- {
- public:
- Ulamek(int licznik, int mianownik);
- Ulamek(int licznik);
- operator double ()// operator rzutowania na double
- {
- return (double)licznik/mianownik;
- }
- void skroc_ulamek(){
- int maksymalna = NWD(licznik,mianownik);
- licznik=licznik/maksymalna;
- mianownik=mianownik/maksymalna;
- }
- void wypisz_ulamek () {
- if (mianownik != 1)
- cout << licznik << " / " << mianownik<<endl;
- else cout << licznik<<endl;
- }
- private:
- friend Ulamek dodaj(Ulamek,Ulamek);
- int licznik,mianownik=1;
- };
- Ulamek dodaj(Ulamek pierwszy,Ulamek drugi)
- {
- if(drugi.mianownik!=pierwszy.mianownik)
- {
- pierwszy.licznik=pierwszy.licznik*drugi.mianownik;// sprowadzanie do wspólnego mianownika
- drugi.licznik=drugi.licznik*pierwszy.mianownik;
- return Ulamek(drugi.licznik+pierwszy.licznik,pierwszy.mianownik);
- } else return Ulamek(drugi.licznik+pierwszy.licznik,drugi.mianownik);
- }
- Ulamek::Ulamek(int licznik, int mianownik) {
- this->licznik = licznik;
- this->mianownik = mianownik;
- }
- Ulamek::Ulamek(int licznik) {
- this->licznik = licznik;
- }
- double kwadrat_liczby(double ulamek)
- {
- return ulamek*ulamek;
- }
- int main() {
- Ulamek tablica[3] = {Ulamek(1,2),Ulamek(5,8),Ulamek(7,9)};
- tablica[0].wypisz_ulamek();
- tablica[1].wypisz_ulamek();
- tablica[2].wypisz_ulamek();
- Ulamek pierwszy_plus_drugi = dodaj (tablica[0],tablica[1]);
- pierwszy_plus_drugi.wypisz_ulamek();
- // cout<<dodaj()<<endl;
- Ulamek pierwszy_plus_7 =dodaj(tablica[0],7);
- cout<<kwadrat_liczby(tablica[2])<<endl;
- Ulamek nowy(88,22);
- nowy.skroc_ulamek();
- nowy.wypisz_ulamek();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement