СРОЧНО!!!!!! ОЧЕНЬ НАДО!!!!!!!!!! c++ Напишите функцю void reduce_fraction(int *n, int...

0 голосов
105 просмотров

СРОЧНО!!!!!! ОЧЕНЬ НАДО!!!!!!!!!!
c++
Напишите функцю void reduce_fraction(int *n, int *m), которая сократит дробь , то есть изменит числа, которые лежат по указателям n и m таким образом, что значение дроби останется прежним, но она будет несократимой.
После написания функции требуется решить задачу, в которой вводятся натуральные числа a и b, после чего дробь сокращается, и выводится уже в сокращенном виде.
Формат входных данных
Вводятся два натуральных числа a и b, не превосходящие 100.
Формат выходных данных
Требуется вывести сокращенную дробь.
Примеры
входные данные
выходные данные

12
16
3 4


Информатика (124 баллов) | 105 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

#include
using namespace std;

int reduce_fraction(int n, int m)
{
if (m == 0) {
return n;
}
return reduce_fraction(m, n % m);
}

int main()
{
int num, dem;
cout << "Nominator: ";<br>cin >> num;
cout << "Denominator: ";<br>cin >> dem;
int nod = reduce_fraction(num, dem);
cout << num << '/' << dem << " => " << (num / nod) << '/' << (dem / nod) <<<br>endl;
return 0;
}

(4.2k баллов)