Загрузка данных


#include <iostream>     // потоковый ввод и вывод
#include <cmath>        // математические функции
#include <clocale>      // русский язык в консоли

using namespace std;    // пространство имен std

int main()
{
    setlocale(LC_ALL, "Russian"); // включаем русский язык

    int k; // граница цикла
    cout << "Введите значение k (целое число от 1): "; // приглашение к вводу
    cin >> k; // считываем k

    if (k < 1) // проверка ввода
    {
        cout << "Ошибка: k должно быть >= 1!" << endl;
        system("pause");
        return 0;
    }

    double P = 1.0; // начальное значение произведения

    for (int m = 1; m <= k + 2; m++) // цикл по m от 1 до k + 2
    {
        if (m == 2) // числитель равен нулю (пропуск нуля)
        {
            cout << "Сомножитель при m = 2 пропущен (равен нулю)" << endl;
            continue; // переходим к следующему шагу
        }

        if (m == 4) // знаменатель равен нулю (деление на ноль)
        {
            cout << "Сомножитель при m = 4 пропущен (деление на ноль)" << endl;
            continue; // переходим к следующему шагу
        }

        double factor = (pow(m, 3) - 8.0) / (m - 4.0); // вычисление сомножителя
        P *= factor; // накопление произведения
    }

    cout << "\nИтоговое значение произведения P = " << P << endl; // вывод результата

    system("pause"); // задержка окна
    return 0; // завершение программы
}