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

Кубическое уравнение методом половинного деления - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Преобразовать символьную запись целого десятичного числа без знака в целое число http://www.cyberforum.ru/cpp-beginners/thread89268.html
Преобразовать символьную запись целого десятичного числа без знака в целое число. В записи исходного числа могут быть пробелы (до и после числа) после числа могут быть и другие записи.
C++ Про возвращение значения 2... если в строке идентификатор,то возвратить ф-ции значение 1=да, 0=нет как индефикатор в общем показать? http://www.cyberforum.ru/cpp-beginners/thread89258.html
C++ Последовательность
Нужна помощь в решении вот такой задачки : " Сортирование последовательности элементов следующим образом : ищем максимальный элемент последовательности и переносим его в конец последовательности , дальше используем этот метод с элементами которые остались, кроме последнего( стоит уже на своём месте) и тд.." ЗЫ: Я решил это вот так , но думаю что нужно по другому( #include <stdlib.h> #include...
C++ C++ и postgresql под win
Выдает такую вот ошибку build/Debug/MinGW-Windows/main.o: In function `main': C:/Documents and Settings/Dik/Мои документы/NetBeansProjects/test/main.cpp:16: undefined reference to `PQconnectdb' C:/Documents and Settings/Dik/Мои документы/NetBeansProjects/test/main.cpp:17: undefined reference to `PQstatus' C:/Documents and Settings/Dik/Мои документы/NetBeansProjects/test/main.cpp:19: undefined...
C++ Выполнение операций в отдельном потоке http://www.cyberforum.ru/cpp-beginners/thread89221.html
Например у меня есть функция. void musik() //Создание потоковой функции { Beep(2000,3000); } Как сделать поток, или подругому, что-бы музыка играла, по ходу программы, а не после.
C++ Сравнение наследников Здравствуйте! А как можно сравнить два наследника, если есть только указатели на базовый класс? У наследников определены ==, !=, >=, <=, >, <, которые в базе также определены, но виртуальны. Наследники загнаны в vector<Base *> ds; Есть ли какой-то нормальный способ? и если есть - то какой? подробнее

Показать сообщение отдельно
BigMax
3 / 2 / 1
Регистрация: 18.09.2009
Сообщений: 10
25.01.2010, 15:51     Кубическое уравнение методом половинного деления
Цитата Сообщение от Abortmaher007 Посмотреть сообщение
Про написание программы можно подробней немного?
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
void CuttingHalfMethod(Data *data)
        {
            double a = data->a;
            double b = data->b;
            double eps = data->eps;
            double c = 0;
            int n = 0;
            int maxN = data->maxN;
 
            if (f(a) * f(b) < 0)
            {
                while (fabs(a - b) > eps && n < maxN)
                {
                    c = (a + b) / 2;
 
                    if (f(a) * f(c) < 0)
                        b = c;
                    else
                        a = c;
                    n++;
                }
                if (n == maxN)
                    data->isMaxIterDone = true;
                else
                    c = (a + b) / 2;
                data->rez = c;
            }
            else
                data->isCansel = true;
        }
struct Data
{
double a;
double b;
double eps;
double maxN;
bool isMaxIterDone;
bool isCansel;
double rez;
};
Здесь a b это границы интервала на котором должен быть корень.
eps это погрешность.
maxN максимально возможное число итераций (на случай бесконечного цикла);
isMaxIterDone флаг было ли достигнуто maxN (т.е. по какому условию был выход из цикла: по погрешности или по итерациям)
isCansel флаг того что на интервале нет корней
rez - результат
Тоесть создаешь структуру Data. Инициализируешь входные данные. После работы функции проверяешь флаги и делаешь вывод был ли найден корень и по какому условию найден.
 
Текущее время: 03:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru