Женя 9 января 2021 #include <iostream> #include <locale.h> #include <conio.h> #include <math.h> using namespace std; double find_root(double(*f)(double), double a, double b, double e) { double x = (a + b) / 2; while ((b - a) / 2 > e) { if (f(a) == 0) { return a; } if (f(b) == 0) { return b; } if (f(x) == 0) { return x; } if (f(a) * f(x) > 0) { a = x; } else { b = x; } x = (a + b) / 2; } return x; } double f(double x) { return 2 * x * log(x) - 3; } void equation() { setlocale(LC_ALL, "rus"); double e = 0.0001; double a, b, c; cout << "a="; cin >> a; cout << "b="; cin >> b; if (f(a)*f(b)>0) { cout << "Неправильный диапазон"; } else { c = find_root(f, a, b, e); cout << "Решение уравнения" << c; } _getch(); }
James B. 16 января 2021 include <iostream> include <locale.h> include <conio.h> include <math.h> using namespace std; double find_root(double(*f)(double),double a, double b, double e) { double x = (a + b) / 2; while ((b — a) / 2 > e) { if (f(a) == 0) { return a; } if (f(b) == 0) { return b; } if (f(x) == 0) { return x; } if (f(a) * f(x) > 0) { a = x; } else { b = x; } x = (a + b) / 2; } return x; } double f(double x) { return 2 * x * log(x) - 3; } int main() { setlocale(LC_ALL, «rus»); double e = 0.0001; double a, b, c; cout << «a=»; cin >> a; cout << «b=»; cin >> b; if (f(a)*f(b)>0) { cout << «Неправильный диапазон»; } else { c = find_root(f, a, b, e); cout << «Решение уравнения » << c; } _getch(); return 0; }
James B. 16 января 2021 Заменил void equation() на int main() #include <iostream> #include <locale.h> #include <conio.h> #include <math.h> using namespace std; double find_root(double(*f)(double),double a, double b, double e) { double x = (a + b) / 2; while ((b - a) / 2 > e) { if (f(a) == 0) { return a; } if (f(b) == 0) { return b; } if (f(x) == 0) { return x; } if (f(a) * f(x) > 0) { a = x; } else { b = x; } x = (a + b) / 2; } return x; } double f(double x) { return 2 * x * log(x) - 3; } int main() { setlocale(LC_ALL, "rus"); double e = 0.0001; double a, b, c; cout << "a="; cin >> a; cout << "b="; cin >> b; if (f(a)*f(b)>0) { cout << "Неправильный диапазон"; } else { c = find_root(f, a, b, e); cout << "Решение уравнения " << c; } _getch(); return 0; }
include <iostream>
include <locale.h>
include <conio.h>
include <math.h>
using namespace std;
double find_root(double(*f)(double),double a, double b, double e)
{
double x = (a + b) / 2;
while ((b — a) / 2 > e)
{
if (f(a) == 0)
{
return a;
}
if (f(b) == 0)
{
return b;
}
if (f(x) == 0)
{
return x;
}
if (f(a) * f(x) > 0)
{
a = x;
}
else
{
b = x;
}
x = (a + b) / 2;
}
return x;
}
double f(double x) {
}
int main()
{
setlocale(LC_ALL, «rus»);
double e = 0.0001;
double a, b, c;
cout << «a=»; cin >> a;
cout << «b=»; cin >> b;
if (f(a)*f(b)>0)
{
cout << «Неправильный диапазон»;
}
else
{
c = find_root(f, a, b, e);
cout << «Решение уравнения » << c;
}
_getch();
return 0;
}
Заменил void equation() на int main()