С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Bakinowski Wlad
1 / 1 / 0
Регистрация: 08.10.2013
Сообщений: 155
#1

Вычислить корень уравнения на отрезке [a; b] с точностью eps=0.000001, методом половинного деления - C++

26.02.2014, 22:16. Просмотров 864. Ответов 4
Метки нет (Все метки)

есть код
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
#include <conio.h>
#include <math.h>
#include <iostream.h>
 
double f(double x) {
 
    return   x*x*x-3;
}
int main() {
    int k_iter=0;
    double a,b,x0;
    const double eps = 0.000001;
 a = 1; b = 4;
    
    do {
        x0=(a+b)/2;
        if (f(x0)*f(a)<=0) b=x0;
        else a=x0;
 
        k_iter+=1;
 
    }
    while (fabs(a-b)>=eps);
        cout<<"x0="<<x0<<"\n";
        cout<<"k_iter="<<k_iter<<"\n";
        getch();
    return 0;
}
нужно вычислить корень уравнения на отрезке [a; b] с точностью eps=0.000001, методом половинного деления!
Нужно оформить еще через одну функцию, которая ссылается по указателю!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2014, 22:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычислить корень уравнения на отрезке [a; b] с точностью eps=0.000001, методом половинного деления (C++):

Найти корень уравнения методом половинного деления - C++
Найти корень уравнения методом половинного деления x^2-1/2=0

Решение уравнения методом половинного деления и методом итераций - C++
Решить уравнение следующими способами: 1) Метод половинного деления 2) Метод итераций Уравнение: e^(x) - e^(-x) - 2 = 0 Отрезок,...

Решение уравнения методом половинного деления - C++
Решение уравнения методом половинного деления. \sqrt{x} - x + 3 = 0 Программа работает только положительных значениях...

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

Решение уравнения методом половинного деления - C++
sin(ln x) - cos(ln x) + 2ln x интервал значение корня 1.3749

Найти корни уравнения методом половинного деления - C++
Здравствуйте!!! Найти корни уравнения методом половинного деления на интервале от a до b c точностью ε. В случае их отсутствия вывести No...

4
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
26.02.2014, 22:24 #2
Цитата Сообщение от Bakinowski Wlad Посмотреть сообщение
Нужно оформить еще через одну функцию, которая ссылается по указателю!
поясните указатель на функцию нужно использовть?
0
Bakinowski Wlad
1 / 1 / 0
Регистрация: 08.10.2013
Сообщений: 155
26.02.2014, 22:30  [ТС] #3
mustimur, да, но я не знаю как его оформить
0
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
26.02.2014, 22:57 #4
Как то так
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
33
34
35
36
37
#include <conio.h>
#include <math.h>
#include <iostream>
 
typedef double (*fun) (double);
using namespace std;
double f(double x) {
return x*x*x-3;
}
 
double answer (double a1,double b1, fun f1)
{
int k_iter=0;
double a,b,x0;
const double eps = 0.000001;
a = a1; b = b1;
 
do {
x0=(a+b)/2;
if (f(x0)*f(a)<=0) b=x0;
else a=x0;
 
k_iter+=1;
 
}
while (fabs(a-b)>=eps);
cout<<"k_iter="<<k_iter<<"\n";
return x0; 
}
int main() {
double a,b,x0;
a = 1; b = 4;
x0 =answer(a,b,&f);  
cout<<"x0="<<x0<<"\n";
getch();
return 0;
}
Ps #include <iostream> в моем компиляторе у вас может и #include <iostream.h>
1
Bakinowski Wlad
1 / 1 / 0
Регистрация: 08.10.2013
Сообщений: 155
26.02.2014, 23:06  [ТС] #5
mustimur, спасибо, всё работает!)
0
26.02.2014, 23:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.02.2014, 23:06
Привет! Вот еще темы с ответами:

Найти корни уравнения методом половинного деления - C++
Отделить корни уравнения графически. Уточнить корни уравнения методом половинного деления, указать число разбиений отрезка.

Отделить корни уравнения графически. Уточнить корни уравнения методом половинного деления - C++
Здравствуйте, господа программисты, помогите пожалуйста код написать, очень нужна ваша помощь) Вот задание: &quot; Отделить корни уравнения...

Найти корень уравнения методом деления отрезка пополам - C++
Всем привет, помогите пожалуйста,начал изучать с++ недавно и навыки пока не очень большие, помогите пожалуйста с задачей, ни как ни дойдет...

Вычислить arcsin(x) методом половинного деления и Ньютона - C++
Здравствуйте. У меня такое задание: Вычислите методами половинного деления и Ньютона: arcsin(a), arccos(a), arctan(a) на ЭВМ, умеющей...


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

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

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