Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kido
0 / 0 / 0
Регистрация: 25.09.2011
Сообщений: 8
#1

Нахождение корня в заданном отрезке - C++

25.09.2011, 21:55. Просмотров 502. Ответов 2
Метки нет (Все метки)

Здравствуйте! Собственно, нужно найти корень нелинейного уравнения из заданного отрезка с точностью до eps=0.01, используя метод итераций.

f(x)=x^3-6*x^2+20 (-6,0) eps=0.01

Корень будет найден как только будет выполнено условие: |b-a|<eps


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
int main() {
 
double a=-6, b=0, eps=0.01, c, y, y1=-1, x;
double condition=fabs(b-a);
while(condition>=eps) {
 c=(a+b)/2;
 y1=c*c*c-6*c*c+20;
 if((y*y1)>0) a=c; else b=c;
}
x=(a+b)/2;
cout<<"x ravno "<<x<<endl;
 
getch();
return 0;
}
// Компиляция проходит успешно, при запуске выходит пустое черное окошко т.к. цикл выполняется безконечно. Эта же задача запросто решается в php. Где же ошибка?

 Комментарий модератора 
Используйте теги форматирования кода!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2011, 21:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нахождение корня в заданном отрезке (C++):

Уточнить приближенное значение корня нелинейного уравнения f(x) = 0 на заданном отрезке - C++
Задание вот такое - уточнить приближенное значение корня нелинейного уравнения f(x) = 0 на заданном отрезке методом половинного деления...

Нахождение корня нелинейного уравнения на заданном участке - C++
Доброго времени суток всем! Давно учил С++, уже его подзабыл, но сейчас необходимо решить задание. Буду благодарен любой помощи! ...

Рекурсия для поиска вещественного корня функции f(x) на отрезке [a, b] - C++
Написать рекурсивную функцию нахождения вещественного корня функции f(x) на отрезке . Указание.Пусть функция f(x) вещественной переменной x...

Нахождение квадратного корня - C++
3 задание. Си знаю на самом простом уровне, написал код для решения задачи, но не совсем уверен в его правильности, потому прошу знатоков...

нахождение корня на интервале - C++
дано x^2-4x-8,75. найти корень уравнения f(x)=0 на интервале (A,B) c точностью E. использовать метод хорд. где A=5,5 B=6,5 E=10^-4....

Нахождение корня уравнения - C++
Составить программу для вычисления действительных корней уравнения любым способом точность 10^-5 x^3+3x^2-9x+5=0

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
RaiaNKnight
96 / 70 / 7
Регистрация: 29.06.2011
Сообщений: 465
Записей в блоге: 1
25.09.2011, 22:06 #2
почему в цикле у тебя нигде condition не меняется?
kido
0 / 0 / 0
Регистрация: 25.09.2011
Сообщений: 8
25.09.2011, 22:11  [ТС] #3
Цитата Сообщение от RaiaNKnight Посмотреть сообщение
почему в цикле у тебя нигде condition не меняется?
вместо while(condition>=eps) написал while(fabs(b-a)>=eps) - Заработало))) Спасибо большое!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2011, 22:11
Привет! Вот еще темы с ответами:

Нахождение квадратного корня - C++
Нужно написать функцию нахождения квадратного корня не используя cmath. Решил реализовать итерационную формулу Герона, при компилировании...

Нахождение корня уравнения - C++
Составить программу для вычисления

Нахождение корня методом хорд - C++
Помогите дописать программу, Билдер в 5-ой строке выдаёт синтаксическую ошибку: #include&lt;iostream.h&gt; #include&lt;conio.h&gt; ...

Нахождение корня без sqrt() - C++
Здравствуйте. Ну как вы наверно поняли нужно написать собственную функцию нахождения корня. вот что я наваял: const double eps=0.0001;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru