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

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

Войти
Регистрация
Восстановить пароль
 
dogg12
63 / 29 / 6
Регистрация: 21.02.2011
Сообщений: 831
#1

Метод хорд, проверьте правильность кода - C++

06.03.2014, 02:09. Просмотров 304. Ответов 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
25
26
27
28
#include <iostream>
#include <cmath>
 
double func(double x)
{
    return x*x*x+20*x+8*(log(2+10*sqrt(3)));
}
 
double find(double infinum, double supremum, double epsilon)
{
    while (fabs(supremum - infinum) > epsilon)
    {
        infinum = supremum - (supremum - infinum) * func(supremum) / (func(
                supremum) - func(infinum));
        supremum = infinum - (infinum - supremum) * func(infinum) / (func(
                infinum) - func(supremum));
    }
 
    return supremum;
}
 
int main()
{
    double a = 0, b = 1;
    std::cout << find(a, b, 0.0001) << std::endl;
    system("pause");
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2014, 02:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Метод хорд, проверьте правильность кода (C++):

Проверьте правильность кода - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; int main() { setlocale(LC_ALL, &quot;Russian&quot;); int p; float q, n,...

Проверьте правильность кода - C++
Здравствуйте. Задали рассчитать площадь треугольника по заданным параметрам: сторонам треугольника ABC и радиусу описанной окружности....

Проверьте правильность написания кода и коментарии - C++
Задача: Написать программу которая принимает в качестве аргумента имя файла f с русским текстом и печатает его в точности по одному...

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

Метод хорд - проверить корректность реализации кода - C++
Приветствую, форумчане. Хочу обратиться к вам за помощью, вот еле написала программу для метода хорд, методом шары если честно, так как...

Мой код - метод бисекции, метод секущих (метод хорд) - C++
Всем привет!!! Изучаем в институте С++. Сделал код, и там, и там одна и та же проблема - при любых вбиваемых значениях программа делает...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
S_el
2100 / 1611 / 308
Регистрация: 15.12.2013
Сообщений: 6,451
06.03.2014, 10:12 #2
dogg12, рабочие формулы правильные?

А переменные в этом случае supremum,infinum лучше не называть.
0
dogg12
63 / 29 / 6
Регистрация: 21.02.2011
Сообщений: 831
06.03.2014, 12:33  [ТС] #3
если я не ошибся, то должно быть верно.
0
S_el
2100 / 1611 / 308
Регистрация: 15.12.2013
Сообщений: 6,451
06.03.2014, 19:44 #4
dogg12, просто википедия отличает формулы секущих и хорд.
0
dogg12
63 / 29 / 6
Регистрация: 21.02.2011
Сообщений: 831
06.03.2014, 19:54  [ТС] #5
S_el, если учесть, что код, который предлогает википедия правилен, то мое решение верно.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
double f(double x)
{
    return sqrt(fabs(cos(x))) - x; // Заменить ф-ей, корни которой мы ищем
}
 
// a, b - пределы хорды, epsilon - необходимая погрешность
double findRoot(double a, double b, double epsilon)
{
    while(fabs(b - a) > epsilon)
    {
        a = b - (b - a) * f(b)/(f(b) - f(a));
        b = a - (a - b) * f(a)/(f(a) - f(b));
    }
 
    // a - i-1, b - i-тый члены
 
    return b;
}
код из википедии
0
S_el
2100 / 1611 / 308
Регистрация: 15.12.2013
Сообщений: 6,451
06.03.2014, 19:57 #6
Цитата Сообщение от dogg12 Посмотреть сообщение
если учесть, что код, который предлагает википедия правилен, то мое решение верно.
Я видел код из википедии,но в этом-то и есть главная проблема Вики.1 человек ничего не слышал о том,что метод хорд и секущих не одно и тоже,второй убежден,что это таки 1 метод.1-ый пишет формулы,обоснование,историю и применимость.Второй-код.Кому верить спрашивается?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2014, 19:57
Привет! Вот еще темы с ответами:

Проверьте правильность - C++
Создайте условный оператор (if), который присваивал бы x значение x/y, если y не равно 0. #include &lt;iostream&gt; using namespace std; ...

проверьте на правильность - C++
Нужно удвоить нечётные элементы (количество строк m - 4, а столбцов n - 3) #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using...

Проверьте правильность - C++
Структурная схема алгоритма (метод вставки) http://i032.***********/0912/0c/f5e0e7e1959c.jpg Программа ...

проверьте на правильность - C++
Вычислить значения функции у=4х3-2х2+5 для значений х, изменяющихся от -3 до 1, с шагом 0.1. #include &lt;stdio.h&gt; #include &lt;iostream&gt; ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.03.2014, 19:57
Ответ Создать тему
Опции темы

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