Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

zlomek

c-plus-plus

#include <iostream> // vlozi kod z hlavickoveho souboru iostream (pro in-stream a out-stream)
#include "pole.cpp"
using namespace std; // obor nazvu


class Zlomek { int c; unsigned j;
  public: Zlomek(int c, unsigned j):c(c),j(j) { }
          Zlomek() : c(1), j(1) {};
          Zlomek operator + (const Zlomek &z)
          {
            return Zlomek(c*z.j + j*z.c, j*z.j);
          }
          Zlomek operator * (const Zlomek &z)
          {
            return Zlomek(c*z.c, j*z.j);
          }
          Zlomek operator - (const Zlomek &z)
          {
              return Zlomek(c*z.j - j*z.c, j*z.j);
          }
          Zlomek operator / (const Zlomek &z)
          {
             return Zlomek(c/z.c, j/z.j);
          }

          bool operator == (const Zlomek z)
          {
              if((double)c/(double)j == (double)z.c/(double)z.j)
                    return true;
              else
                    return false;
          }

             bool operator < (const Zlomek z)
          {
              if((double)c/(double)j < (double)z.c/(double)z.j)
                    return true;
              else
                    return false;
          }

             bool operator > (const Zlomek z)
          {
              if((double)c/(double)j > (double)z.c/(double)z.j)
                    return true;
              else
                    return false;
          }

          Zlomek operator -()
          {
          return Zlomek (- c , j);
          }

          void operator () (int cc) // zmena citatele zlomku
          {
              c = cc;
          }

          void operator () (int cc, int jj) // zmena citatele i jmenovatele
          {
              c = cc;
              j = jj;
          }

           bool operator > (const Zlomek &z)
          {
              if (c*z.j > j*z.c)
              return true;
            else return false;
          }




        void operator () ()
          {
            cout << c << '/' << j << endl;
          }
};


int main()
{




    UsporadanePole<Zlomek,20> pz;
typedef Zlomek Z;
pz << Z(1,3) << Z(3,5) << Z(7,4) << Z(3,4) << Z(2,3) << Z(7,2)
<< Z(5,4) << Z(1,4) << Z(6,7) << Z(4,3) << Z(2,3);
pz-=Z(6,7); pz-=Z(2,7);
cout << "pocet " << pz << endl;
pz.prvni();
do pz.aktual()(); while (pz.dalsi());
najit(pz,Z(1,4));
najit(pz,Z(7,2));
najit(pz,Z(1,2));

Neformátovaný

Přidáno: 12.12.2012
Expirace: Neuvedeno

Avatar
Autor: Onda.Zadnik
Aktivity