Код: Выбрать все
#include "stdafx.h"
#include <iostream>
using namespace std;
//Функция для уравнения:
double F(double x) {
return 2 - 20 * x + 9 * pow(x, 2) - pow(x, 3);
}
//Функция поиска корня:
int main()
{
//Интервал, погрешность и корень:
double a, b, eps, x;
cin >> a;
cin >> b;
//Проверка корректности интервала:
if (F(a)*F(b) > 0) {
cout << "Wrong interval!\n";
return 0;
}
cout << "error: ";
cin >> eps;
int k = 0;
//Поиск решения:
do {
x= a-(F(a)*(b-a)) / (F(b) - F(a));
if ((F(a)*F(x)) > 0)
a = x;
else
b = x;
k++;
} while (fabs(F(b) - F(a)) > eps II fabs(a-b)>2*eps);
cout << "x = " << x << endl;
cout << "f(x)=" << F(x) << endl;
cout << "k=" << k<<endl;
system("pause");
return 0;
}