👤

Napisz program, który wczyta wartość licznika i mianownika, a następnie wypisze skrócony ułamek

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();

}

On Studier: Inne Pytanie