Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Распечатать значеня элементов строки из двумерного массива раз-мерность nХm з наибольшым количеством положительных элементов https://www.cyberforum.ru/ cpp-beginners/ thread903349.html
Распечатать значеня элементов строки из двумерного массива раз-мерность nХm з наибольшым количеством положительных элементов.
C++ Дано матрицу Т размером 6х7
Дано матрицу Т размером 6х7. найти максимальных и минимальный элемент каждава столбца матрици Т
Представьте число в виде суммы трех приблизительно равных натуральных чисел C++
Задание: Дано натуральное число k. Представьте его в виде суммы трех приблизительно равных натуральных чисел. Вот такой код с горем пополам я наклепал : #include "stdafx.h" #include...
C++ В заданном массиве В (21) заменить все отрицательные элементы В заданном массиве В (21) заменить все отрицательные элементы, стоящие на четных местах, ево максимальным элементом, а на четных местах = минимальным элементом массива В. Заданный и Преобразований... https://www.cyberforum.ru/ cpp-beginners/ thread903331.html
C++ Работа функции strdup https://www.cyberforum.ru/ cpp-beginners/ thread903323.html
Добрый день. Я никак не могу понять работу функции strdup. Я понимаю что это не фриланс, но возможно у кого-то есть какая-то заготовка..или что-то в этом роде.. Задача состоит в том,чтобы...
На экране дан центр круга и чтобы найти его радиус дано 3 целых чисел C++
На экране дан центр круга и чтобы найти его радиус дано 3 целых чисел. Если круг не проходит через горизонтального центра экрана, то надо найти этого круга и ему линейно симметричные кругу.
Работа з контейнерами C++
Помогите изменить эту программу так,чтобы контейнеры хранили данные пользовательского типа(остальное все тоже самое) #include<iostream> #include<time.h> #include<list> using namespace std;...
C++ Найдите наименьший и наибольший элементы и подсчитайте их полусумму Найдите наименьший и наибольший элементы и подсчитайте их полусумму. Из элементов побочной диагонали сформируйте одномерный массив и отсортируйте его по убыванию методом простых вставок. Выведите... https://www.cyberforum.ru/ cpp-beginners/ thread903288.html
C++ Отсортировать по возрастанию отрицательные элементы массива методом выбора https://www.cyberforum.ru/ cpp-beginners/ thread903272.html
Дан целочисленный массив A(n) с элементами, сгенерированными случайными числами в диапазоне (-20, 20). Требуется.Отсортировать по возрастанию отрицательные элементы массива методом выбора.
C++ задан вектор С, который состоит из 12 действительных чисел. Сформировать вектор D, нечетные элементы которого есть целая часть нечетных задан вектор С, который состоит из 12 действительных чисел. Сформировать вектор D, нечетные элементы которого есть целая часть нечетных компонентов вектора С, а четные элементы вектора D является... https://www.cyberforum.ru/ cpp-beginners/ thread903270.html
3 / 3 / 4
Регистрация: 15.10.2012
Сообщений: 18
0

Метод хорд - C++ - Ответ 4728396

16.06.2013, 14:11. Показов 1054. Ответов 2
Метки (Все метки)

Всем привет! В общем, при решении курсовой по сабжу, столкнулся со следующей проблемой. Первое уравнение программа решает правильно, а второе — выводит на экран "nan". (Примечание: фиксурем точку b, т.к. f(b)*f''(b)>0 для обеих функций.) Собственно, весь код:
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <iostream>
#include <clocale>
#include <conio.h>
#include <cmath>
using namespace std;
 
double f1(double x){
    return 10*x-exp(x);
}
double f2(double x){
    return tan(3.43*x)-5.07*x;
}
int bCheck (const int a, const int b){
    if(f1(a)*(-exp(a)>0)) return a;
        else return b;
}
int fCheck (const int a, const int b){
    if (f2(a)*(tan(3.47*a)*((2*3.47*3.47)/(cos(3.47*a)*cos(3.47*a))))>0)return a;
        else return b;
}
 
double aSolveFind (const int a, const int b, double eps, double (*f) (double x)){
    double next=b;
    double next1=a-((f(a)*(next-a))/(f(next)-f(a)));
    while (abs(next1-next)>=eps){
        next=next1;
        next1=a-((f(a)*(next-a))/(f(next)-f(a)));
    }
    return next1;
}
double bSolveFind (const int a, const int b, double eps, double (*f)(double x)){
    double next=a;
    double next1=next-((f(next)*(b-next))/(f(b)-f(next)));
    while(abs(next1-next)>=eps){
        next=next1;
        next1=next-((f(next)*(b-next))/(f(b)-f(next)));
    }
    return next1;
}
int main(){
    setlocale (0,"");
    double a,b;
    double eps=0.00001;
    int SwOp;
    cout<<"Выберите уравнение:\n";
    cout<<"1. f(x)=10x-e^x; a=3, b=4.\n";
    cout<<"2. f(x)=tg(3.43x)-5.07x; a=0.1, b=0.3\n";
    cout<<"Ваш выбор...........";
    cin>>SwOp;
    switch(SwOp){
        case 1:{a=3; b=4;
            if (bCheck(a,b)==b)
                cout<<"Корни данного уравнения на промежутке ["<<a<<","<<b<<"] : "<<bSolveFind(a,b,eps,f1)<<endl;
            else cout<<"Корни данного уравнения на промежутке ["<<a<<","<<b<<"] : "<<aSolveFind(a,b,eps,f1)<<endl; break;}
        case 2:{a=0.1; b=0.3;
            //if(fCheck(a,b)==a)
               // cout<<"Корни данного уравнения на промежутке ["<<a<<","<<b<<"] : "<<aSolveFind(a,b,eps,f2)<<endl;
                   /* else*/ cout<<"Корни данного уравнения на промежутке ["<<a<<","<<b<<"] : "<<bSolveFind(a,b,eps,f2)<<endl; break;}
    }
    return 0;
}


Вернуться к обсуждению:
Метод хорд C++
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.06.2013, 14:11
Готовые ответы и решения:

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

Нахождения корней уравнения: метод половинного деления (бисекции) или метод хорд
Разработать программу нахождения корней уравнения f(x) =0 на интервале с точностью e = 0,001...

Метод хорд
Есть задание:&quot;Методом хорд найти корень уравнения x-3{x}^{3}+12=0 на отрезке . Написал,но значение...

МЕтод хорд
Всем привет. Надо сделать задачку (она на картинке в рамке красной) там надо применить метод...

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