Составить программу для умножения дроби на дробь (результат должен быть несократимой дробью) - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Даны две дроби A/B и C/D (A, B, C, D – натуральные числа). Составить программу для умножения дроби на дробь. Результат должен быть несократимой дробью. C помощью пользовательских функций.
#include<stdio.h>
#include<conio.h>
int f(int F,int G)
{ if(F>G)
{int i=G;
while(i>1)
{if((F%i==0)&&(G%i==0))
i=i-1
else (i=F);}
while(i>1)
if((F%i==0)&&(G%i==0))
i=i-1;
else {return (i)}}
return(i);}}
int main(){;
int A,B,C,D,F,G,i;
int k;
printf("VVedite A,B,C,D\n");
scanf(" %i%i%i%i",&A,&B,&C,&D);
F=A*C; G=B*D;
k=f(F,G);
F=F/k;G=G/k;
printf("F/G=%i",F,G);
getch();
return 0;
}
HELP

Решение задачи: «Составить программу для умножения дроби на дробь (результат должен быть несократимой дробью)»

textual
Листинг программы
#include<stdio.h>
#include<conio.h>
int f(int F,int G)
{
    int i=1;
    if(F>G)
    {
        for(i=G;i>1;i--)
            if(F%i==0)
                return i;
    }else
    {
        for(i=F;i>1;i--)
            if(G%i==0)
                return i;
    }
    return i;
}
int main()
{
    int A,B,C,D,F,G;
    int k;
    printf("VVedite A,B,C,D\n");
    scanf("%i%i%i%i",&A,&B,&C,&D);
    F=A*C; G=B*D;
    k=f(F,G);
    F=F/k;G=G/k;
    printf("F/G=%i/%i",F,G);
    getch();
    return 0;
}

Объяснение кода листинга программы

  1. Программа начинается с функции f(int F,int G), которая принимает два целых числа F и G.
  2. Внутри функции происходит итерация циклом от большего числа к меньшему (G к 1).
  3. На каждой итерации проверяется, делится ли F на текущее значение i без остатка.
  4. Если F делится на i без остатка, то возвращается это значение i.
  5. Если F не делится на i без остатка, то цикл продолжается.
  6. Если цикл завершается без возврата значения, то возвращается 1.
  7. В функции main() происходит запрос на ввод четырех целых чисел A, B, C и D.
  8. Затем происходит расчет F и G как произведения A на C и B на D соответственно.
  9. Результат функции f(F,G) сохраняется в переменной k.
  10. Затем происходит деление F и G на k.
  11. Результат выводится на экран в формате F/G=<результат>.
  12. Программа завершается вызовом функции getch() и возвратом 0.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы