Перейти к содержанию
Лабрадор.ру собаки - ретриверы

Рекомендуемые сообщения

Опубликовано

Есть условие задачи

7baa0bd5751b.jpg

вариант

3a9aeca3bfad.jpg

нужно решить методами бисекции и Ньютона

вот что нарешали:

#include "stdafx.h" 
#include "iostream" 
#include "cmath" 
#include "cstdlib" 
#include "conio.h" 

float f1(float x) 
{ 
return (pow(0.07, 1/3) - 2 * x + atan(sqrt(x))); 
} 
void metod1(float a, float b, float eps, float(*f)(float)) 
{ 
float x; 
int i=0; 
do 
{ 
x = (a + b) / 2; 
if ((*f)(a)*(*f)(x)>0) 
a = x; 
else 
b = x; 
i++; 

} while (abs(b - a) >= eps); 
std::cout « "x1= " « x; 
std::cout « "i1= " « i; 
} 
float metod_2(float a, float b, float eps, float(*f)(float)) 
{ 
float ff, x1, x2; 
int i; 
i = 0; 
x2 = (a + b) / 2.; 
do 
{ 
x1 = x2; 
ff = (((*f)(x1 + eps/2.) - (*f)(x1 - eps/2.)) / eps); 
x2 = x1 - (*f)(x1) / ff; 
i++; 
} while (abs(x1 - x2) >= eps); 
std::cout « "i2 = " « i; 
return x2; 
} 
int main() 
{ 
float a, b, eps, x1=0, x2; 
int i1=0; 
std::cout « "enter the left border: "; 
std::cin » a; 
std::cout « "enter the right border: "; 
std::cin » b; 
std::cout « "enter accuracy: "; 
std::cin » eps; 
metod1(a, b, eps, f1); 
x2 = metod_2(a, b, eps, f1); 
std::cout « "X2 = " « x2; 
system("pause"); 
}

границы вводить а=0,1, в=2,1, погрешность 10 в степени = -4

Помогите найти ошибку, пожалуйста 

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...