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

Родион
Oct 24, 2020
#include <iostream>
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: ";
cin >> num;
cout << "Denominator: ";
cin >> dem;
int nod = reduce_fraction(num, dem);
cout << num << '/' << dem << " => " << (num / nod) << '/' << (dem / nod) <<
endl;
return 0;
}
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: ";
cin >> num;
cout << "Denominator: ";
cin >> dem;
int nod = reduce_fraction(num, dem);
cout << num << '/' << dem << " => " << (num / nod) << '/' << (dem / nod) <<
endl;
return 0;
}
285