include iostream using namespace std double double return функция для

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
using namespace std;
double f(double x) {
return x * x; // функция, для которой ищем корни, сейчас это икс квадрат
}
int main() {
double a, b, c, epsilon, x; // выделяем память для переменных с типом данных - десятичное с плавающей точкой
cout << "[a, b];" << endl << "Enter a:"; // выводим в консоль
cin >> a; // считываем с клавиатуры
cout << "Enter b:"; // выводим в консоль
cin >> b; // считываем с клавиатуры
cout << "Enter epsilon:"; // выводим в консоль
cin >> epsilon; // считываем с клавиатуры
while (b - a > epsilon) { // цикл, пока b - a больше заданной точности
c = (a + b) / 2; // середина отрезка
if (f(b) * f(c) < 0) { // если f(b) * f(c) < 0
a = c; // то стартовая точкой отрезка [a, b] становится c. [c, b]
} else { // в противном случае
b = c; // [a, c]
}
}
x = (a + b) / 2; // получаем значение переменной x и выводим на экран, вместе с f(x)
cout << "x = " << x << endl << "f(x) = " << f(x) << endl;
return 0;
}