#include <iostream>
#include <cmath>
using namespace std;
// Определение функции f(x) = 5 * (1 - e^(-0.5 * x)) * cos(2 * pi * x)
double f(double x) {
return 5 * (1 - exp(-0.5 * x)) * cos(2 * M_PI * x);
}
int main() {
double a, b; // Границы интервала
int n; // Количество точек
// Ввод данных
cout << "Enter the interval limits a and b: ";
cin >> a >> b;
cout << "Enter the number of points n: ";
cin >> n;
// Расчет шага
double h = (b - a) / (n - 1);
double product = 1; // Переменная для произведения положительных значений
bool has_positive_values = false; // Флаг наличия положительных значений
double epsilon = 1e-6; // Порог для определения малых значений как нулевых
// Вычисление и вывод значений функции на интервале
cout << "Table of function values f(x):\n";
for (int i = 0; i < n; ++i) {
double x = a + i * h;
double value = f(x);
cout << "f(" << x << ") = " << value << endl;
// Игнорируем значения, которые близки к нулю или отрицательны
if (value > epsilon) {
product *= value;
has_positive_values = true;
}
}
// Вывод произведения положительных значений
if (has_positive_values) {
cout << "Product of all positive values of the function: " << product << endl;
} else {
cout << "No positive values of the function in the interval." << endl;
}
return 0;
}