class Fraction
{
private:
int num, numi;
public:
Fraction();
Fraction(int n, int d);
Fraction Suma(Fraction x);//suma
Fraction Diferenta(Fraction x);//diferenta
Fraction Produs(Fraction x);//produs
Fraction Impartire(Fraction x);//impartire
~Fraction();
void afisare();
int numitorcomun(int n, int d);
};
Fraction::Fraction()
{
num = 1;
numi = 1;
}
Fraction::Fraction(int n, int d)
{
num = n;
if (d==0)
{
cout << "eroare, nu se poate imparti la 0" << endl;
exit(0);
}
else
numi = d;
}
Fraction Fraction:: Suma(Fraction x)//suma
{
int n = num*x.numi+x.num*numi;
int d = numi*x.numi;
return Fraction(n/numitorcomun(n,d),d/numitorcomun(n,d));
}
Fraction Fraction:: Diferenta(Fraction x)
{
int n = num*x.numi-x.num*numi;
int d = numi*x.numi;
return Fraction(n/numitorcomun(n,d),d/numitorcomun(n,d));
}
Fraction Fraction:: Produs(Fraction x)
{
int n = num*x.num;
int d = numi*x.numi;
return Fraction(n/numitorcomun(n,d),d/numitorcomun(n,d));
}
Fraction Fraction:: Impartire(Fraction x)
{
int n = num*x.numi;
int d = numi*x.num;
return Fraction(n/numitorcomun(n,d),d/numitorcomun(n,d));
}
Fraction::~Fraction()
{
cout<<" \nFractie "<
}
int numitorcomun(int n, int d)
{
int r;
while (d != 0)
{
r = n % d;
n = d;
d = r;
}
return n;
}
void Fraction::afisare()
{
if (numi == 1)
cout << num << endl;
else
cout << num << "/" << numi << endl;;
}
int main()
{
Fraction a(1,2);
Fraction b(1,4);
Fraction c;
Vă mulțumim că ați ales să vizitați site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, vă rugăm să ne contactați. Revenirea dumneavoastră ne va bucura, iar pentru acces rapid, nu uitați să ne salvați la favorite!