Odpowiedź :
/*Z wykorzystaniem algorytmu Euklidesa na gcd. W razie czego, pytaj*/
#include <iostream>
#include <cassert>
int gcd(int a, int b)
{
int temp;
while(b != 0)
{
temp = b;
b = a % b;
a = temp;
}
return a;
}
class Fraction
{
private:
int numerator;
int denominator;
public:
Fraction(int n, int d = 1)
{
assert(d != 0);
numerator = n;
denominator = d;
}
void printFraction()
{
int m = gcd(numerator, denominator);
std::cout << numerator << '/' << denominator << " = " << numerator / m << '/' << denominator / m << '\n';
}
};
int main()
{
int licz, mian;
std::cout << "Podaj kolejno licznik i mianownik (oddzielone spacja)\t";
std::cin >> licz >> mian;
Fraction ulamek {licz, mian};
ulamek.printFraction();
}