Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2011, 21:01   #1
relyativus
Новичок
Джуниор
 
Регистрация: 09.12.2011
Сообщений: 2
По умолчанию метод деления отрезка пополам

Код:
double f(double x){
return pow(x,5)-x-0.2;
}

double precide(double a,double b,double e){
double x;
while((b-a)>=e){
x=(a+b)/2;
if (f(x)*f(a)>0.0) a=x;
else if (f(x)==0.0) return x;
else b=x;
}
}
int main(int argc, char* argv[])
{
double y,x,a(1.0),b(1.1),e(1e-5);
while((b-a)>=e){
x=(a+b)/2;
if (f(x)*f(a)>0.0) a=x;
else if (f(x)==0.0) break;
else b=x;
}

cout<<x;
y=precide(1.0,1.1,1e-5);
cout<<y;
system("pause");
return 0;
}

У меня есть функция precide которая должна искать корень функции на интервале. Проблема в том что функция зацикливается. Хотя код функции в main работает нормально. Не могу понять почему. За ранее спасибо за помощь. (Извенити за грамматику, в руском не силён =( )

Последний раз редактировалось relyativus; 09.12.2011 в 21:05.
relyativus вне форума Ответить с цитированием
Старый 09.12.2011, 21:16   #2
relyativus
Новичок
Джуниор
 
Регистрация: 09.12.2011
Сообщений: 2
По умолчанию

Заработало! в строчке else if (f(x)==0.0) return x; вместо return x написал break. а конце функции поставил return x. но все равно не пойму почему не работало
relyativus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Метод деления пополам Си++ nikozavr Общие вопросы C/C++ 10 12.02.2011 11:36
Метод деления отрезка пополам Витяака Помощь студентам 2 23.12.2010 11:42
Найти корни заданного уравнения методом Золотого сечения, Фибоначи и деления отрезка пополам. Сравнить эф Nik0919 Помощь студентам 2 16.02.2010 19:14
Метод деления отрезка пополам Delphi lordve Помощь студентам 0 06.12.2009 23:57
Вычисление корня уравнения методом деления отрезка пополам Absent Помощь студентам 12 25.11.2007 17:54