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