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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.60
TaYloR
0 / 0 / 0
Регистрация: 16.02.2010
Сообщений: 38
#1

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

11.10.2010, 14:50. Просмотров 1961. Ответов 4
Метки нет (Все метки)

Помогите дописать программу, Билдер в 5-ой строке выдаёт синтаксическую ошибку:
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
#include<iostream.h>
#include<conio.h>
#include<math.h>
int main(){
        double f(double x){
                return pow(x,3)+3*pow(x,2)-4*x-12;
        }
        double findRoot(a, b, eps)
        {
                while(fabs(b - a) > eps)
                        {
                        a = b - (b - a) * f(b)/(f(b) - f(a));
                        b = a - (a - b) * f(a)/(f(a) - f(b));
                        }
                return b;
        }
 
double a, b, eps;
cout<<"Vvedite a, b, eps: ";
cin<<a<<b<<eps;
cout<<"Koren' = "<<findRoot(a, b, eps);
getch();
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2010, 14:50     Нахождение корня методом хорд
Посмотрите здесь:

Нахождение корня целого числа методом Ньютона - C++
//Не судите строго, только начал изучать, подскажите как вторую формулу в цикл поместить))(где for и далее-не верно)Спасибо!// /* ...

Нахождение корня нелинейного уравнения методом итерации - C++
Прошу помочь разобраться в ошибке. Есть рабочий код с++ для нахождения корня методом итерации уравнения (cosh(0.7*x)-9)/3.5. Но при...

Нахождение корня методом деления отрезка пополам - C++
Задание: Сделал для f(x)=0, но нужно f(x)=x... Не получается у меня сделать для f(x)=x Ниже код: #include &quot;stdafx.h&quot; #include...

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

Нахождение корня уравнения методом деления отрезка пополам - C++
Всем привет,есть решение у кого нибудь?Вот псевдокод {deleted} П.5.19.Правил Запрещено создавать темы в виде ссылок на задания или...

Отыскание корня уравнения f(x)=0 на интервале (A,B) с точностью Е (метод хорд) - C++
Вот такая задача: Отыскание корня уравнения f(x)=0 на интервале (A,B) с точностью Е (решение с помощью метода хорд). Уравнение такое:...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
11.10.2010, 15:12     Нахождение корня методом хорд #2
Нельзя оглашать/определять локальные ф-ции, т.е. ф-ции, оглашённые в определении другой.
TaYloR
0 / 0 / 0
Регистрация: 16.02.2010
Сообщений: 38
11.10.2010, 16:18  [ТС]     Нахождение корня методом хорд #3
То есть? можешь показать в коде ошибку, функция double f(double x) ведь не оглашается в findRoot
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
11.10.2010, 16:51     Нахождение корня методом хорд #4
Зделай функции глбальными,тоесть создай их вне главной функции main,так же параметры функции findRoot должны иметь тип.
Как то так:
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
#include<iostream.h>
#include<conio.h>
#include<math.h>
using namespace std;
double f(double x)
{
    return pow(x,3)+3*pow(x,2)-4*x-12;
}
double findRoot(double a, double b, double eps)
{
     while(fabs(b - a) > eps)
     {
         a = b - (b - a) * f(b)/(f(b) - f(a));
         b = a - (a - b) * f(a)/(f(a) - f(b));
     }
     return b;
}
int main()
{
double a, b, eps;
cout<<"Vvedite a, b, eps: ";
cin>>a>>b>>eps;
cout<<"Koren' = "<<findRoot(a, b, eps);
getch();
return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2010, 17:30     Нахождение корня методом хорд
Еще ссылки по теме:

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

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
TaYloR
0 / 0 / 0
Регистрация: 16.02.2010
Сообщений: 38
11.10.2010, 17:30  [ТС]     Нахождение корня методом хорд #5
Спасибо. А можешь посмотреть, почему на отрезке [-4.3, -2.4] прога выдаёт ответ -2 вместо -3? на остальных промежутках работает
Yandex
Объявления
11.10.2010, 17:30     Нахождение корня методом хорд
Ответ Создать тему
Опции темы

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