
Доброго времени суток. Нужна помощь с написанием функции на языке с++. Надо написать функцию для
умножение целого числа на дробь и деления целого числа дробью. Ещё так же надо сделать функцию деления дроби на целое число. Помогите, пожалуйста! Даю последние баллы 

Ответы на вопрос

Функция умножения целого числа на дробь:
// Определение структуры дроби, в которой есть числитель и знаменатель
struct Fraction {
int numerator;
int denominator;
};
// Функция нахождения наибольшего общего делителя двух чисел
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
// Функция умножения целого числа на дробь
Fraction multiplyFractionByInt(Fraction fraction, int integer) {
// Создание новой дроби, которая будет результатом умножения
Fraction result;
// Числитель новой дроби равен произведению числителя и целого числа
result.numerator = fraction.numerator * integer;
// Знаменатель новой дроби равен знаменателю исходной дроби
result.denominator = fraction.denominator;
// Нахождение наибольшего общего делителя числителя и знаменателя новой дроби
int common = gcd(result.numerator, result.denominator);
// Сокращение новой дроби путем деления числителя и знаменателя на наибольший общий делитель
result.numerator /= common;
result.denominator /= common;
// Возврат новой дроби в качестве результата функции
return result;
}
int main() {
// Создание дроби и целого числа, на которые будет производиться умножение
Fraction fraction;
fraction.numerator = 2;
fraction.denominator = 3;
int integer = 4;
// Вызов функции умножения целого числа на дробь и сохранение результата в переменной
Fraction result = multiplyFractionByInt(fraction, integer);
// Вывод результата умножения на экран
std::cout << result.numerator << "/" << result.denominator << std::endl;
return 0;
}
Функция деления целого числа на дробь:
// Определение структуры дроби, в которой есть числитель и знаменатель
struct Fraction {
int numerator;
int denominator;
};
// Функция нахождения наибольшего общего делителя двух чисел
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
// Функция деления целого числа на дробь
Fraction divideIntByFraction(int integer, Fraction fraction) {
// Создание новой дроби, которая будет результатом деления
Fraction result;
// Числитель новой дроби равен целому числу
result.numerator = integer;
// Знаменатель новой дроби равен произведению знаменателя исходной дроби и целого числа
result.denominator = fraction.denominator * integer;
// Нахождение наибольшего общего делителя числителя и знаменателя новой дроби
int common = gcd(result.numerator, result.denominator);
// Сокращение новой дроби путем деления числителя и знаменателя на наибольший общий делитель
result.numerator /= common;
result.denominator /= common;
// Возврат новой дроби в качестве результата функции
return result;
}
int main() {
// Создание дроби и целого числа, на которые будет производиться деление
Fraction fraction;
fraction.numerator = 2;
fraction.denominator = 3;
int integer = 4;
// Вызов функции деления целого числа на дробь и сохранение результата в переменной
Fraction result = divideIntByFraction(integer, fraction);
// Вывод результата деления на экран
std::cout << result.numerator << "/" << result.denominator << std::endl;
return 0;
}
Функция деления дроби на целое число:
// Определение структуры дроби, в которой есть числитель и знаменатель
struct Fraction {
int numerator;
int denominator;
};
// Функция нахождения наибольшего общего делителя двух чисел
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
// Функция деления дроби на целое число
Fraction divideFractionByInt(Fraction fraction, int integer) {
// Создание новой дроби, которая будет результатом деления
Fraction result;
// Числитель новой дроби равен числителю исходной дроби
result.numerator = fraction.numerator;
// Знаменатель новой дроби равен произведению знаменателя исходной дроби и целого числа
result.denominator = fraction.denominator * integer;
// Нахождение наибольшего общего делителя числителя и знаменателя новой дроби
int common = gcd(result.numerator, result.denominator);
// Сокращение новой дроби путем деления числителя и знаменателя на наибольший общий делитель
result.numerator /= common;
result.denominator /= common;
// Возврат новой дроби в качестве результата функции
return result;
}
int main() {
// Создание дроби и целого числа, на которые будет производиться деление
Fraction fraction;
fraction.numerator = 2;
fraction.denominator = 3;
int integer = 4;
// Вызов функции деления дроби на целое число и сохранение результата в переменной
Fraction result = divideFractionByInt(fraction, integer);
// Вывод результата деления на экран
std::cout << result.numerator << "/" << result.denominator << std::endl;
return 0;
}



Доброго времени суток! Конечно, я помогу вам с написанием этих функций на языке C++.
Вот пример реализации требуемых функций:
cpp#include <iostream>
// Функция для умножения целого числа на дробь
double multiplyFraction(int numerator, int denominator, double fraction) {
return numerator * fraction / denominator;
}
// Функция для деления целого числа на дробь
double divideByFraction(int numerator, int denominator, double fraction) {
return numerator / (fraction * denominator);
}
// Функция для деления дроби на целое число
double fractionDividedBy(int numerator, int denominator, int divisor) {
return numerator / (denominator * static_cast<double>(divisor));
}
int main() {
// Пример использования функций
int num = 5;
int denom = 2;
double frac = 0.5;
double result1 = multiplyFraction(num, denom, frac);
std::cout << num << " * " << frac << " / " << denom << " = " << result1 << std::endl;
double result2 = divideByFraction(num, denom, frac);
std::cout << num << " / (" << frac << " * " << denom << ") = " << result2 << std::endl;
int divisor = 3;
double result3 = fractionDividedBy(num, denom, divisor);
std::cout << num << " / (" << denom << " * " << divisor << ") = " << result3 << std::endl;
return 0;
}
В этом примере используются три функции: multiplyFraction
для умножения целого числа на дробь, divideByFraction
для деления целого числа на дробь, и fractionDividedBy
для деления дроби на целое число. Все функции принимают числитель и знаменатель дроби, а также соответствующие числа для операций. Результаты вычислений выводятся на экран.
Надеюсь, это поможет вам! Если у вас возникнут ещё вопросы, не стесняйтесь задавать.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili