#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
//Функция для полинома:
double F(double x) {
return 5 * tan(x) - (10 / (x) ^ 2) - 3;
}
//Функция поиска корня:
double FindRoot(double (*f)(double), double a, double b, double eps) {
double c;
while ((b - a) / 2 > eps) {
c = (a + b) / 2;
if ((f(a) * f(c)) > 0) a = c;
else b = c;
}
return c;
}
int main() {
//Интервал, погрешность и корень:
double a, b, eps, x;
cout << "interval: ";
cin >> a;
cin >> b;
//Проверка корректности интервала:
if (F(a) * F(b) > 0) {
cout << "Wrong interval!\n";
return 0;
}
cout << "error: ";
cin >> eps;
//Поиск решения:
x = FindRoot(F, a, b, eps);
cout << "x = " << x << endl;
return 0;
}
при вводе данной программы появляется ошибка E2140 "выражение должно относиться к целочисленному типу или типу перечисления без области видимости"