Параметры функций и возвращение значения

Последнее обновление: 06.03.2023
Упражнение 1

Напишите функцию, которая считывает с консоли строку или массив символов и возвращает строку, где символы размещены в обратном порядке

Решение
#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
Упражнение 2

Напишите функцию, которая возводит число в определенную степень. В качестве параметров функция должна принимать само число и показатель степени. А в качестве результата возвращать результат возведения числа в степень. Степень может быть как положительной, так и отрицательной.

Решение
#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
Дополнительные материалы
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850