Определить функцию полного сокращения дроби - C (СИ)
Формулировка задачи:
помогите пожалуйста...нужно использовать фукции
Определить функцию полного сокращения рационального числа , которое задано числителем и заменителем , а также процедуры составления и умножения рациональных чисел
Решение задачи: «Определить функцию полного сокращения дроби»
textual
Листинг программы
int nod(int x, int y) // Можно короче
{int t;
if (x < y) { t = x; x = y; y = t; }
while(x != y) {
t = x % y;
if (t==0) break;
x = y;
y = t;
}
return(y);
}
main()
{ int d;
...
d = nod(a, b);
a /= d;
b /= d;
...
}
Объяснение кода листинга программы
- Функция
nodпринимает два целых числаxиyв качестве параметров и возвращает наибольший общий делитель (НОД) этих чисел. - Если
xменьшеy, то происходит обменxиy. - Затем выполняется цикл, который продолжается до тех пор, пока
xне станет равнымy. - В каждой итерации цикла значение
tзаменяется на остаток от деленияxнаy. - Если
tравно нулю, цикл прерывается. - Значения
xиyобновляются в соответствии с текущим значениемt. - По завершении цикла возвращается значение
y, которое является НОДом чиселxиy. - В функции
mainзадаются значения переменныхaиb. - Затем вызывается функция
nodс этими значениями, и результат сохраняется в переменнойd. - Значения
aиbобновляются путем деления наd. - ...
- В зависимости от контекста, возможно, будут выполнены дополнительные действия с переменными
aиb. - ...
- Программа продолжает работу, используя обновленные значения переменных
aиb. - ...
- Возможно, программа выполнит еще какие-то действия, используя значения переменных
aиb. - ...
- Программа продолжает работу, используя обновленные значения переменных
aиb. - ...
- Программа продолжает работу, используя обновленные значения переменных
aиb.