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

Нахождение корней уравнения - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сумма бесконечного ряда - это как ? http://www.cyberforum.ru/cpp-beginners/thread71242.html
скажите мне пжлста когда дана сумма бесконечная с точностью что надо сделать я имею ввиду в чем смысл задания?? надо найти сумму при котором некий номер суммы меньше точности?!
C++ Проектирование и работа с классами Задали лабораторную в институте. Не знаю как сделать, люди помогите пожалуйста. Спроектировать и реализовать класс Complex для работы с комплексными числами. В классе должны быть определены различные конструкторы (по умолчанию, только на основе вещественной части, по вещественной и мнимой части, конструктор копирования). Должны быть перегружены следующие операторы: +, -, *, ==, *=, +=, –=,!=,... http://www.cyberforum.ru/cpp-beginners/thread71228.html
C++ Debug error
После запуска при вводе любого числа выдает debug error с предложение прервать, повторить или пропустить. Если нажимаю пропустить выдает число -858993450. В чем ошибка? #include <iostream> #include <string> #include <conio.h> using namespace std; int main() {
Дан файл с абзацем, выровненым по левому краю, надо отформатировать по правому краю C++
есть задание дан файл с абзацем выровненым по левому краю , надо отформатировать по правому краю!!
C++ использование указателей http://www.cyberforum.ru/cpp-beginners/thread71211.html
Должна быть разработана программа с меню с использованием указателей: 1. Изменить порядок следования элементов в массиве так, чтобы сначала располагались все отрицательные элементы, затем положительные, а потом нули. 2. Найдите наибольший элемент среди четных строк матрицы. 3. Выход с программы Немогу понять как реализовать 1 и 2 пункт (непонятен сам алгоритм нахождения) зы:подскажите...
C++ Файлы Помогите пожалуйста с программкой: Информация о сотрудниках предприятия содержит: -Ф.И.О.; -номер отдела; -должность; -дату начала работы. Вывести список сотрудников по отделам в порядке убывания ста¬жа. подробнее

Показать сообщение отдельно
ScaleS
 Аватар для ScaleS
46 / 46 / 0
Регистрация: 06.12.2009
Сообщений: 68
07.12.2009, 00:56     Нахождение корней уравнения
Задачи решенные тремя разными способами

Метод итераций
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
#include <conio.h>
#include <math.h>
#include <iostream.h>
#define pi 3.14
double f(double x) {
 
    return   x*x-(cos(pi*x));
}
 
double fi(double x, double L) {
 
    return  x+L*f(x);
}
 
 
int main() {
    int n=0;
    double x,y,c,b,L=-0.35,eps;
    cout<<"x="; cin>>x;
    cout<<"eps="; cin>>eps;
    do {
        y=fi(x,L);
        b=fabs(x-y);
        x=y;
        n+=1;
    }
    while (b>=eps);
        cout<<"c="<<x<<"\n";
        cout<<"n="<<n<<"\n";
        getch();
    return 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
#include <conio.h>
#include <math.h>
#include <iostream.h>
#define pi 3.14
 
double f(double x) {
 
    return   x*x-(cos(pi*x));
}
 
double f1(double x) {
 
    return   2*x+(1/x);
}
 
double f2(double x) {
 
    return   2+(-1/(x*x));
}
 
int main() {
    int n=0;
    double a,b,c,eps;
    cout<<"a="; cin>>a;
    cout<<"b="; cin>>b;
    cout<<"eps="; cin>>eps;
    if(f(a)*f2(a)>0) c=a;
    else c=b;
    do {
        c=c-f(c)/f1(c);
        n+=1;
    }
    while (fabs(f(c))>=eps);
        cout<<"c="<<c<<"\n";
        cout<<"n="<<n<<"\n";
        getch();
    return 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
#include <conio.h>
#include <math.h>
#include <iostream.h>
#define pi 3.14
 
double f(double x) {
 
    return   x*x-(cos(pi*x));
}
int main() {
    int n=0;
    double a,b,c,eps;
    cout<<"a="; cin>>a;
    cout<<"b="; cin>>b;
    cout<<"eps="; cin>>eps;
    do {
        c=(a+b)/2;
        if (f(c)*f(a)<=0) b=c;
        else a=c;
 
        n+=1;
 
    }
    while (fabs(a-b)>=eps);
        cout<<"c="<<c<<"\n";
        cout<<"n="<<n<<"\n";
        getch();
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru