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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 38, средняя оценка - 4.68
kiborg_18
4 / 4 / 0
Регистрация: 21.02.2011
Сообщений: 61
#1

Программа нахождения корней многочлена методом хорд - C++

14.03.2011, 17:34. Просмотров 4729. Ответов 9
Метки нет (Все метки)

СРОЧНО! Программа нахождения корней многочлена методом хорд. Функции sinx,cosx,tgx,ctgx,lnx должны корректно выдавать ответы!!! Помогите! Надо как можно скорее!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2011, 17:34     Программа нахождения корней многочлена методом хорд
Посмотрите здесь:
Вычисление корней методом хорд C++
Нахождение целых корней многочлена методом Горнера C++
C++ Составить программу нахождения корней нелинейного уравнения методом простой итерации с точностью вычисления E
C++ Вычисление корней многочлена
Решить уравнение по заданной формуле методом хорд и модифицированным методом Ньютона C++
Решить нелинейное уравнение методом хорд и методом простой итерации C++
Найти корень уравнения методом хорд и методом касательных C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MILAN
14.03.2011, 17:39
  #2

Не по теме:

Цитата Сообщение от kiborg_18 Посмотреть сообщение
СРОЧНО!
С такими просьбами вам долго прийдется ждать.

DanielDefo
5 / 5 / 0
Регистрация: 13.09.2009
Сообщений: 225
14.03.2011, 17:46     Программа нахождения корней многочлена методом хорд #3
Попробуй это.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream.h>
#include<math.h>
double  f (double x)
{return tan(0.5*x+0.1)-x*x; } //твоя функция
double f2(double x)
{return 0.5*sin(0.5*x)/pow(cos(0.5*x),4)-2;}    //ее производная
void main()
{double a,b,xs,xm,xn;
 double eps=0.001;
 cout<<"Введите начало отрезка:";
 cin>>a;
 cout<<"Введите конец отрезка:";
 cin>>b;
 if ((f(a)*f2(a)) < 0) {xm=a; xs=b;}
 else {xm=b; xs=a; }
 xn=xm;
 do{ xm=xn;
xn=xm-(f(xm)*(xs-xm)/(f(xs)-f(xm)));  }
 while (fabs(xn-xm)>eps);
 cout<<"x="<<xn;}
kiborg_18
4 / 4 / 0
Регистрация: 21.02.2011
Сообщений: 61
14.03.2011, 17:54  [ТС]     Программа нахождения корней многочлена методом хорд #4
спс, а она работает если я введу sinx и интервал 1 5?

Добавлено через 3 минуты
Цитата Сообщение от DanielDefo Посмотреть сообщение
Попробуй это
Попробовал на синусе тест 1 5 проходит а вот 1 15 вылетает((( Препод может же что угодно ввести, как устранить?
DanielDefo
5 / 5 / 0
Регистрация: 13.09.2009
Сообщений: 225
14.03.2011, 18:00     Программа нахождения корней многочлена методом хорд #5
НЕ понял. Вылетает когда? когда вы вводите границу 1.15 ?
kiborg_18
4 / 4 / 0
Регистрация: 21.02.2011
Сообщений: 61
14.03.2011, 18:09  [ТС]     Программа нахождения корней многочлена методом хорд #6
Цитата Сообщение от DanielDefo Посмотреть сообщение
НЕ понял. Вылетает когда? когда вы вводите границу 1.15 ?
нет, у нас препод вводит a=1 b=15 тогда и вылетает
Vergil111
31 / 31 / 6
Регистрация: 30.11.2010
Сообщений: 81
14.03.2011, 18:45     Программа нахождения корней многочлена методом хорд #7
Лови, все работает=)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <math.h>
 
using namespace std;
float m_ch(float, float, float);
float your_function(float);
int main()
{
    cout << m_ch(8,7,0.001) << endl;// задаем начальные точки и точность
    return 0;
}
float m_ch(float x1, float x2, float e){
    if (fabs(x2-x1)<e) return x2;
    return m_ch((x1-((your_function(x1))*(x2-x1))/(your_function(x2)-your_function(x1))),x1,e);
}
float your_function(float x){
    return pow(x,3)-18*x-83;//пример твоей функции
}
kiborg_18
4 / 4 / 0
Регистрация: 21.02.2011
Сообщений: 61
14.03.2011, 19:01  [ТС]     Программа нахождения корней многочлена методом хорд #8
Цитата Сообщение от Vergil111 Посмотреть сообщение
Лови, все работает=)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <math.h>
 
using namespace std;
float m_ch(float, float, float);
float your_function(float);
int main()
{
    cout << m_ch(8,7,0.001) << endl;// задаем начальные точки и точность
    return 0;
}
float m_ch(float x1, float x2, float e){
    if (fabs(x2-x1)<e) return x2;
    return m_ch((x1-((your_function(x1))*(x2-x1))/(your_function(x2)-your_function(x1))),x1,e);
}
float your_function(float x){
    return pow(x,3)-18*x-83;//пример твоей функции
}
спс) но есть одно но...
sin x a=1 b=12 эпсилон 1е-10
ответ 377337((( Почему?
Vergil111
31 / 31 / 6
Регистрация: 30.11.2010
Сообщений: 81
14.03.2011, 21:48     Программа нахождения корней многочлена методом хорд #9
Хм. более чем странно. У меня все ништяк получается=) Посмотрите, сравните, я уверен, ошибка какая-нибудь совсем мелкая=)
Миниатюры
Программа нахождения корней многочлена методом хорд   Программа нахождения корней многочлена методом хорд  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2013, 15:11     Программа нахождения корней многочлена методом хорд
Еще ссылки по теме:
C++ Алгоритм нахождения корней
Составить программу нахождения корней нелинейного уравнения C++
Функция нахождения комплексных корней квадратного уравнения C++
C++ Шаблон функции нахождения корней квадратного уравнения
Написать программу нахождения корней квадратного уравнения C++

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

Или воспользуйтесь поиском по форуму:
bezborodko
1 / 1 / 0
Регистрация: 23.11.2012
Сообщений: 44
09.05.2013, 15:11     Программа нахождения корней многочлена методом хорд #10
что такое 0,5 и 0,1 в коде программы?
Yandex
Объявления
09.05.2013, 15:11     Программа нахождения корней многочлена методом хорд
Ответ Создать тему
Опции темы

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