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

Корни функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Упрощаем код и вносим замечания http://www.cyberforum.ru/cpp-beginners/thread255171.html
Задание: Дана последовательность из 100 различных целых чисел. Найти сумму чисел этой последовательности, расположенных между максимальным и минимальными числами (в сумму включить оба этих числа) ...
C++ Вставка на ассемблере Добрый вечер. Код пишу в CodeBlocks&MinGW, есть и студия. вопрос: нужны ли какие-нибудь инклюды чтоб осуществить вставку на ассемблере?. и вообще. дайте пример простой с вставкой на... http://www.cyberforum.ru/cpp-beginners/thread255166.html
C++ Найти количество строк в максимальном множестве попарно непохожих строк заданной матрицы
Мир всем, помогите понять суть задания: "Две строки матрицы назовем похожими, если совпадают множества чисел встречающихся в этих строках. Найти количество строк в максимальном множестве попарно...
Очередь и дек С++ C++
Ребят, помогите пожалуйста сделать небольшую программу, ну просто горит(((. :wall: Разработать программу на С++, для реализации основных операций над полу-статичными структурами данных (добавление,...
C++ вхождения символа в строках http://www.cyberforum.ru/cpp-beginners/thread255157.html
В данной строке S вставить символ c1 после каждого вхождения символа c2.
C++ сильно грузит процесор господа програмисты написал программу но она очень сильно грузит процесор,с чего я это взял?объясняю-во первых на windows 7 есть гаджет индикатор ЦП вот без моей программы он показывает от 3 до 7 %... подробнее

Показать сообщение отдельно
Sun4
0 / 0 / 0
Регистрация: 10.03.2011
Сообщений: 3

Корни функции - C++

10.03.2011, 22:09. Просмотров 974. Ответов 6
Метки (Все метки)

Нужно найти корни функции y(x)=x^4+6x^2-12x-8
Код почти готов, только он находит 1 корень.
Корни которые должны быть: x1=-0,523425 x2=1.78967

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
#include <cmath>
using namespace std;
double f( double x ) 
{
    return x*x*x*x+6*x*x-12*x-8;
}
double findRoot(double (*f)(double), double a=1.5, double b=2., double eps=1e-6) {
    double t;
   while (fabs(b-a)>=eps) 
{
      //1 t =( b*f(a)-f(b)*a)/(f(a)-f(b)); 
      t = a+(f(b)*(b-a))/(f(b)-f(a));  //2
      if (f(a)*f(t)<0) 
{
         b=t;
//p         cout << "b=" << b;
      }
else if (f(t)*f(b)<0)
{
         a=t;
//p         cout << "a=" << a;
      } else 
         return t;
   }
   return t;
}
int main() {
   double t = findRoot( f );
   cout << "x=" << t << " f(x)=" << f(t) << endl;
   return 0;
}
Помогите пожалуйста, буду благодарен
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru