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


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

using namespace std;

int main()
{
    /* Предусловие: ввод с клавиатуры целого положительного числа k */
    /* Постусловие: вычисление и вывод на экран произведения P с пропуском сомножителя при m = 4 из-за деления на ноль */

    setlocale(LC_ALL, "Russian");

    int k;
    cout << "Введите значение k (целое положительное число): ";
    cin >> k;

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

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

    // ОДИНОЧНЫЙ ЦИКЛ произведения по m от 1 до k + 2
    for (int m = 1; m <= k + 2; m++)
    {
        // Пропуск точки разрыва (деление на ноль при m = 4)
        if (m == 4)
        {
            cout << "Предупреждение: сомножитель при m = 4 пропущен (деление на ноль)\n";
            continue; // переходим к следующему m, не умножая
        }

        // Вычисление сомножителя (m^3 - 8) / (m - 4)
        double factor = (pow(m, 3) - 8.0) / (m - 4.0);
        P *= factor;
    }

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

    system("pause");
    return 0;
}