MusicFreak

Domaci iz programiranja

Jun 5th, 2013
292
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.84 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3.  
  4. using namespace std;
  5.  
  6.  
  7.  
  8. class Razlomak
  9. {
  10. public:
  11.     int Imenilac()
  12.     {
  13.         return _imenilac;
  14.     }
  15.     int Brojilac()
  16.     {
  17.         return _brojilac;
  18.     }
  19.     Razlomak(int b, int i)
  20.     {
  21.         _brojilac = b;
  22.         _imenilac = i;
  23.     }
  24.     Razlomak (int b)
  25.     {
  26.         _brojilac = b;
  27.         _imenilac = 1;
  28.     }
  29.     Razlomak ()
  30.     {
  31.         _brojilac = 0;
  32.         _imenilac = 1;
  33.     }
  34.     Razlomak Skrati ()
  35.     {
  36.         int max, i = 2;
  37.         if (Brojilac() < Imenilac())
  38.         max = Brojilac();
  39.         else max = Imenilac();
  40.  
  41.         while (i < max)
  42.         {
  43.             while (Brojilac() % i == 0 && Imenilac() % i ==0)
  44.             {
  45.                 _brojilac /= i;
  46.                 _imenilac /= i;
  47.             }
  48.             i++;
  49.         }
  50.         return Razlomak(Brojilac(),Imenilac());
  51.     }
  52.     Razlomak SaberiSa(Razlomak r)
  53.     {
  54.         return Razlomak(Brojilac() * r.Imenilac() + Imenilac() * r.Brojilac(), Imenilac() * r.Imenilac()).Skrati();
  55.     }
  56.     Razlomak OduzmiOd(Razlomak r)
  57.     {
  58.         return Razlomak(Brojilac() * r.Imenilac() - Imenilac() * r.Brojilac(), Imenilac() * r.Imenilac()).Skrati();
  59.     }
  60.     Razlomak PomnoziSa(Razlomak r)
  61.     {
  62.         return Razlomak(Brojilac()*r.Brojilac(), Imenilac()*r.Imenilac()).Skrati();
  63.     }
  64.     Razlomak PodeliSa(Razlomak r)
  65.     {
  66.         return Razlomak(Brojilac()*r.Imenilac(), Imenilac()*r.Brojilac()).Skrati();
  67.     }
  68.     Razlomak RecVred()
  69.     {
  70.         return Razlomak(Imenilac(), Brojilac());
  71.     }
  72.  
  73. private:
  74.     int _imenilac;
  75.     int _brojilac;
  76. };
  77.  
  78. int main()
  79. {
  80.     system("color 0A");
  81.     Razlomak x;
  82.     Razlomak y;
  83.     Razlomak a(54,39), b(21,67);
  84.     x = a.SaberiSa(b);
  85.     y = a.PodeliSa(b);
  86.     cout << y.Brojilac() << "/" << y.Imenilac();
  87.     return 0;
  88. }
Advertisement
Add Comment
Please, Sign In to add comment