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

Найти корень уравнения методом касательных - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти корень уравнения методом половинного деления http://www.cyberforum.ru/cpp-beginners/thread915549.html
Найти корень уравнения методом половинного деления x^2-1/2=0
C++ Отделить корень уравнения Отделить корень уравнения x^2-1/2=0 http://www.cyberforum.ru/cpp-beginners/thread915548.html
При вводе слова выводится результат сколько в нем переходов от гласных к согласным и наоборот C++
Требуется написать программу в которой будет 2 функции( мейн и ,,,) в которой при ввовде слова будет вовдится результат сколько в нем переходов от гласных к согласным и наоборот. Очень надо
C++ Qt Creator or MSVC
Доброе утро. У меня вопрос, не хочу холивара, но стоит выбор между этими двумя IDE. То что qt кроссплатформенна - это я знаю, то что MSVC только для винды, тоже. Так же знаю что можно прикрутить qt...
C++ Hex (3 byte) to Float http://www.cyberforum.ru/cpp-beginners/thread915523.html
С внешнего устройства приходят данные 40 00 00, 40 80 00, 7F FF FF и тп. Известно, что 7 бит первого байта это знак (если равен 0-положительное число, 1 - отрицательное), 0-6 биты первого байта это...
C++ Узнать экранные координаты точки Есть камера, есть точка в трехмерном пространстве. Координаты точки известны. Есть матрица камеры и матрица проекции - перспективная. Как мне узнать экранные координаты точки? Я беру координаты... подробнее

Показать сообщение отдельно
vxg
Модератор
3169 / 1972 / 221
Регистрация: 13.01.2012
Сообщений: 7,577
01.07.2013, 13:17
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
38
39
40
41
//------------------------------------------------------------------------------
class bad_bracket_end_points {};
class bad_initial_point {};
class too_many_iteration {};
//------------------------------------------------------------------------------
long root_iteration = 1000000;
//------------------------------------------------------------------------------
double newton_root
(
    double (* const y)(const double &x),
    double x,
    const double &dx, const double &dy
)
{
    double y_x, y_ldx, y_rdx;
 
    double dy_dx;
    double x_prev;
 
    long k = 0;
 
    do
    {
        y_x = y(x);
        y_ldx = y(x - dx);
        y_rdx = y(x + dx);
 
        if (y_x * (y_rdx - 2 * y_x + y_ldx) < 0) throw bad_initial_point();
 
        dy_dx = (y_rdx - y_ldx) / (2 * dx);
 
        x_prev = x;
        x -= y_x / dy_dx;
 
        k++;
        if (k > root_iteration) throw too_many_iteration();
    }
    while (fabs(x - x_prev) > dx && fabs(y_x) > dy);
 
    return x;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru