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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.75
tesler
3 / 3 / 0
Регистрация: 08.04.2011
Сообщений: 197
#1

Метод деления пополам - C++

01.03.2012, 23:49. Просмотров 2135. Ответов 3
Метки нет (Все метки)

плиз!!!подскажите!!!
нам дана функция х*х-2=0,мы знаем отрезок на котором будем искать иксы[0,3], эпселон=10 в минус шестой степени,будем искать иксы методом деления пополам!получаю ответ, но не такой!точно не знаю ответ, но знаю, что он состоит из единиц и четверок(четверки там точно присутствуют)
посмотрите может, что не так?
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 <iostream>
# include <windows.h>
# include <conio.h>
# include <stdlib.h>
# include <stdio.h>
# include <math.h>
# include <cmath>
 
using namespace std;
 
float f(float x)
{
    return  x*x-2;
}
 
 
 
float n(float a, float b)
{   float E;
    E=0,0000001;
    while ((b-a) > E)
    { 
      float x=(a+b)/2;
      if (f(x)*f(a) < 0)
          b=x;
      else a=x;
      return (a+b)/2;
    }
    _getch();
}
 
int main()
{
  SetConsoleOutputCP(1251);
  cout<<n(0,3);
  _getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2012, 23:49     Метод деления пополам
Посмотрите здесь:

метод деления отрезка пополам и метод итерации - C++
Методом деления отрезка пополам и методом итерации найти приближенное значение корня 2*x^3+3*x-1=0 абсолютная погрешность 10^-5; Люди...

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

метод деления интервала пополам - C++
помогите написать программку в вижуале у меня неполучается, нужно функцию на заданом интервале вычеслить с точностью L может кто уже...

Метод деления отрезка пополам - C++
Помогите!! Написать функцию,выполняющую поиск корня уравнения f(x)=0 методом деления отрезка пополам. Используя написанную...

метод деления пополам вроде - C++
не могу понять в чем ошибка... #include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; main (void) { float...

Визуальное программирование. Метод деления отрезка пополам - C++
Приближенное нахождение решения уравнения f(x)=0 методом деления отрезка пополам. Написать программу, находящую методом деления отрезка...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Whiteha
Программист
33 / 33 / 4
Регистрация: 08.07.2011
Сообщений: 190
Записей в блоге: 1
02.03.2012, 00:42     Метод деления пополам #2
Вроде так:
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
long double metdih()
{
    long double a(0), b(0), d(0), x(0);
    int N(1);
    cout << "Метод половинного деления (метод дихотомии):" << endl;
    cout << "a = "; cin >> a;
    cout << "b = "; cin >> b;
    cout << "Точность: "; cin >> d;
    do
    {
        x = (a + b) / 2.;
        if (f(a) * f(x) < 0)
        {
            b = x;
        }
        else if (f(x) * f(b) < 0)
        {
            a = x;
        }
        else if ((f(x) * f(b) == 0) && (f(x) * f(a) == 0))
        {
            cout << "Корень x = " << x << endl;
            break;
        }
        else
        {
            cout << "В указанном интервале корней нет, или больше одного." << endl;
            break;
        }
        cout << "N = " << N << "  x = " << x << endl;
        N++;
    }
    while (fabs(a - b) > d);
    return x;
}
tesler
3 / 3 / 0
Регистрация: 08.04.2011
Сообщений: 197
15.03.2012, 23:35  [ТС]     Метод деления пополам #3
а почему он до бесконечности работает...что то не так в цикле...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2012, 23:47     Метод деления пополам
Еще ссылки по теме:

Поиск максимального елемента массива , используя метод деления пополам - C++
Найти максимальный элемент в массиве a1, ..., an, используя метод деления пополам max (a1, ..., an) = max (max (a1, ..., an/2), max...

2 Программы. На "целые числа и системы счисления" и на "метод деления отрезка пополам" - C++
1)Дано натурально число n. Среди чисел 1, ... ,n найти все такие, запись которых совпадает с последними цифрами их квадрата ( как,...

Бинарный поиск деления пополам - C++
Здравствуйте, не могу понять почему так: ввожу число 3 и ничего не выводится(со всеми остальными числами всё получалось) #include...

Поиск методом деления пополам. - C++
Имеется железнодорожное расписание, содержащее номер рейса поезда, времена отправления и прибытия и станцию прибытия. Организовать поиск...


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

Или воспользуйтесь поиском по форуму:
AncinetHero
49 / 49 / 3
Регистрация: 22.05.2011
Сообщений: 326
15.03.2012, 23:47     Метод деления пополам #4
Для функций вообще используют тернарный поиск, напишите нормально входные данные, из первого поста ничего не понять. (то есть напишите, какие переменные даны, что за функция (возрастающая, спадающая вообще не понятно), что надо найти)
Yandex
Объявления
15.03.2012, 23:47     Метод деления пополам
Ответ Создать тему
Опции темы

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