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

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

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

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

01.03.2012, 23:49. Просмотров 2265. Ответов 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();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2012, 23:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Метод деления пополам (C++):

Метод деления отрезка пополам для решения нелинейных уравнений (метод дихотомии) - C++
Здравствуйте. Помогите пожалуйста дописать программу. Вот что вымучал, но на сдаче завалили, типо нет вывода корней, не рассмотрены...

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

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

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

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

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

3
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;
}
0
tesler
3 / 3 / 0
Регистрация: 08.04.2011
Сообщений: 199
15.03.2012, 23:35  [ТС] #3
а почему он до бесконечности работает...что то не так в цикле...
0
AncinetHero
49 / 49 / 3
Регистрация: 22.05.2011
Сообщений: 326
15.03.2012, 23:47 #4
Для функций вообще используют тернарный поиск, напишите нормально входные данные, из первого поста ничего не понять. (то есть напишите, какие переменные даны, что за функция (возрастающая, спадающая вообще не понятно), что надо найти)
0
15.03.2012, 23:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2012, 23:47
Привет! Вот еще темы с ответами:

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

Минимум Функции (метод деления отрезка пополам) - C++
Подскажите пожалуйста, Мне нужно найти методом деления отрезка пополам минимум функции одной переменной, должно получиться 3 значения на...

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

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


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

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

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