Написать шаблонную функцию, возвращающую одновременно квадрат, куб и четвертую степень своего параметра. Проверить работоспособность шаблонной функции для целочисленных типов (int/long/short) и вещественных типов (float/double). с++

2 Окт 2019 в 18:42
195 +1
0
Ответы
1
#include <iostream>
template <typename T>
std::tuple<T, T, T> calculatePowers(T num) {
return std::make_tuple(num * num, num * num * num, num * num * num * num);
}
int main() {
// Целочисленные типы
int a = 2;
auto intResult = calculatePowers(a);
std::cout << "Square: " << std::get<0>(intResult) << ", Cube: " << std::get<1>(intResult) << ", Fourth Power: " << std::get<2>(intResult) << std::endl;
long b = 3;
auto longResult = calculatePowers(b);
std::cout << "Square: " << std::get<0>(longResult) << ", Cube: " << std::get<1>(longResult) << ", Fourth Power: " << std::get<2>(longResult) << std::endl;
short c = 4;
auto shortResult = calculatePowers(c);
std::cout << "Square: " << std::get<0>(shortResult) << ", Cube: " << std::get<1>(shortResult) << ", Fourth Power: " << std::get<2>(shortResult) << std::endl;
// Вещественные типы
float d = 2.5;
auto floatResult = calculatePowers(d);
std::cout << "Square: " << std::get<0>(floatResult) << ", Cube: " << std::get<1>(floatResult) << ", Fourth Power: " << std::get<2>(floatResult) << std::endl;
double e = 3.3;
auto doubleResult = calculatePowers(e);
std::cout << "Square: " << std::get<0>(doubleResult) << ", Cube: " << std::get<1>(doubleResult) << ", Fourth Power: " << std::get<2>(doubleResult) << std::endl;
return 0;
}
19 Апр 2024 в 18:43
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир