Advertisement
adwas33

Untitled

Dec 18th, 2022
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int NWD(int a, int b) // ze strony I LO w tarnowie :)
  6. {
  7. int pom;
  8.  
  9. while(b!=0)
  10. {
  11. pom = b;
  12. b = a%b;
  13. a = pom;
  14. }
  15.  
  16. return a;
  17. }
  18. class Ulamek
  19. {
  20. public:
  21. Ulamek(int licznik, int mianownik);
  22.  
  23. Ulamek(int licznik);
  24. operator double ()// operator rzutowania na double
  25. {
  26. return (double)licznik/mianownik;
  27. }
  28. void skroc_ulamek(){
  29. int maksymalna = NWD(licznik,mianownik);
  30. licznik=licznik/maksymalna;
  31. mianownik=mianownik/maksymalna;
  32. }
  33. void wypisz_ulamek () {
  34. if (mianownik != 1)
  35. cout << licznik << " / " << mianownik<<endl;
  36. else cout << licznik<<endl;
  37. }
  38. private:
  39. friend Ulamek dodaj(Ulamek,Ulamek);
  40. int licznik,mianownik=1;
  41.  
  42. };
  43. Ulamek dodaj(Ulamek pierwszy,Ulamek drugi)
  44. {
  45.  
  46. if(drugi.mianownik!=pierwszy.mianownik)
  47. {
  48. pierwszy.licznik=pierwszy.licznik*drugi.mianownik;// sprowadzanie do wspólnego mianownika
  49. drugi.licznik=drugi.licznik*pierwszy.mianownik;
  50. return Ulamek(drugi.licznik+pierwszy.licznik,pierwszy.mianownik);
  51.  
  52. } else return Ulamek(drugi.licznik+pierwszy.licznik,drugi.mianownik);
  53. }
  54.  
  55. Ulamek::Ulamek(int licznik, int mianownik) {
  56. this->licznik = licznik;
  57. this->mianownik = mianownik;
  58. }
  59.  
  60. Ulamek::Ulamek(int licznik) {
  61. this->licznik = licznik;
  62. }
  63.  
  64. double kwadrat_liczby(double ulamek)
  65. {
  66. return ulamek*ulamek;
  67. }
  68.  
  69. int main() {
  70. Ulamek tablica[3] = {Ulamek(1,2),Ulamek(5,8),Ulamek(7,9)};
  71. tablica[0].wypisz_ulamek();
  72. tablica[1].wypisz_ulamek();
  73. tablica[2].wypisz_ulamek();
  74. Ulamek pierwszy_plus_drugi = dodaj (tablica[0],tablica[1]);
  75. pierwszy_plus_drugi.wypisz_ulamek();
  76. // cout<<dodaj()<<endl;
  77. Ulamek pierwszy_plus_7 =dodaj(tablica[0],7);
  78. cout<<kwadrat_liczby(tablica[2])<<endl;
  79. Ulamek nowy(88,22);
  80. nowy.skroc_ulamek();
  81. nowy.wypisz_ulamek();
  82. return 0;
  83. }
  84.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement