Напишите функцию, которая считывает с консоли строку или массив символов и возвращает строку, где символы размещены в обратном порядке
#include <iostream> #include <string> std::string reverse(std::string str); int main() { std::string text; std::cout << "Enter a string: "; // вводим строку getline(std::cin, text); std::cout << "\nString in reverse order: "; std::cout << reverse(text) << std::endl; } std::string reverse(std::string str) { const size_t length {str.length()}; // проходим по всем символам строки и меняем их местами с противоположными for (size_t i {}; i < length / 2; ++i) { char temp = str[i]; str[i] = str[length - i - 1]; str[length - i - 1] = temp; } return str; }
Пример работы программы:
Enter a string: Hello METANIT.COM! String in reverse order: !MOC.TINATEM olleH
Напишите функцию, которая возводит число в определенную степень. В качестве параметров функция должна принимать само число и показатель степени. А в качестве результата возвращать результат возведения числа в степень. Степень может быть как положительной, так и отрицательной.
#include <iostream> double pow(double, int); int main() { double n {5}; int exp {2}; std::cout << "pow(" << n << "," << exp << ") = " << pow(n, exp) << std::endl; std::cout << "pow(" << n << ",-" << exp << ") = " << pow(n, -exp) << std::endl; } double pow(double x, int n) { double result {1.0}; if (n >= 0) { for (int i {1}; i <= n; ++i) { result *= x; } } else { for (int i {1}; i <= -n; ++i) { result /= x; } } return result; }
Консольный вывод программы:
pow(5,2) = 25 pow(5,-2) = 0.04