Написать структуру дробные числа числителя (целое число) и знаменателя >0 - C (СИ)
Формулировка задачи:
Помогите пожалуйста решить. Написать структуру дробные числа числителя (целое число) и знаменателя >0. И сделать все операции с ними +, -,*, /.
Решение задачи: «Написать структуру дробные числа числителя (целое число) и знаменателя >0»
textual
Листинг программы
typedef struct { int numerator; int denominator; } fraction; void add_fraction(fraction *result, fraction *a, fraction *b) { int m,n; m=a->numerator*b->denominator + b->numerator*a->denominator; n=a->denominator*b->denominator; result->numerator=m; result->denominator=n; } void sub_fraction(fraction *result, fraction *a, fraction *b) { fraction b1; b1.numerator=-b->numerator; b1.denominator=b->denominator; add_fraction(result, a, &b1); } void mult_fraction(fraction *result, fraction *a, fraction *b) { int m,n; m=a->numerator*b->numerator; n=a->denominator*b->denominator; result->numerator=m; result->denominator=n; } void div_fraction(fraction *result, fraction *a, fraction *b) { fraction b1; b1.numerator=b->denominator; b1.denominator=b->numerator; mult_fraction(result, a, &b1); }
Объяснение кода листинга программы
- Структура дробного числа: числитель (целое число) и знаменатель (целое число больше 0).
- В функции
add_fraction
производится сложение двух дробей. - В функции
sub_fraction
производится вычитание двух дробей. - В функции
mult_fraction
производится умножение двух дробей. - В функции
div_fraction
производится деление двух дробей. - В функции
sub_fraction
создается дополнительная дробьb1
, которая используется как аргумент для функцииadd_fraction
. - В функции
div_fraction
создается дополнительная дробьb1
, которая используется как аргумент для функцииmult_fraction
. - Значение переменной
m
в функцииadd_fraction
равно произведению числителей или числителя и знаменателя, или знаменателя и числителя. - Значение переменной
n
в функцииadd_fraction
равно произведению знаменателей. - Значение переменной
m
в функцииmult_fraction
равно произведению числителей. - Значение переменной
n
в функцииmult_fraction
равно произведению знаменателей. - Значение переменной
m
в функцииdiv_fraction
равно произведению числителя и знаменателя. - Значение переменной
n
в функцииdiv_fraction
равно произведению знаменателя и числителя. - Значение переменной
b1
в функцииsub_fraction
равно исходной дробиb
, но со знаком минус перед числителем. - Значение переменной
b1
в функцииdiv_fraction
равно исходной дробиb
, но со знаком деления перед числителем. - Аргумент
a
передается в функциюadd_fraction
по ссылке. - Аргумент
b
передается в функциюadd_fraction
по ссылке. - Аргумент
b
передается в функциюsub_fraction
по ссылке. - Аргумент
b
передается в функциюdiv_fraction
по ссылке. - Аргумент
b1
передается в функциюdiv_fraction
по ссылке.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д