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

Программа решающая кубическое уравнение - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.75
Didn
Сообщений: n/a
07.06.2012, 21:12     Программа решающая кубическое уравнение #1
Уважаемые программисты, помогите пожалуйста,необходимо написать программу на С++, решающую кубическое уравнение вида ах^3+bx^2+cx+d=0.
Поздно спохватилась, знаю что можно решить формулой Кардано, но руки не доходят и голова не может работать.
Буду очень признательна.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2012, 21:12     Программа решающая кубическое уравнение
Посмотрите здесь:

C++ Кубическое уравнение методом половинного деления
кубическое уравнение C++
C++ как создать программу решающая систему уравнении
программа, решающая уравнение y=x^(a+b) C++
C++ Дано уравнение ax2+bx+c=0. Решить уравнение, результат вывести на экран.
C++ Кубическое уравнение (методом Кардано)
Создать производные классы линейное уравнение и квадратное уравнение, в которых данная функция переопределена C++
C++ Программа, решающая квадратное уравнение

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
07.06.2012, 21:27     Программа решающая кубическое уравнение #2
Didn, всё решается по схеме Горнера и довольно просто...
-=ЮрА=-
Заблокирован
Автор FAQ
07.06.2012, 22:11     Программа решающая кубическое уравнение #3
Подумав решил реализовать Метод Ньютона(метод касательных)
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
#include <cmath>
#include <iostream>
using namespace std;
 
double P(int n, double * a, double x)
{
    double res = a[0];
    for(int i = 1; i <= n; i++)
        res = a[i]*pow(x,1.0*i);
    return res;
}
 
double D(int n, double * a, double x)
{
    
    double dx  = pow(0.1,6.0);
    return (P(n, a, x + dx) - P(n, a, x))/dx;
}
 
int main()
{
    int n;//Содержит степень полинома
    cout<<"\tSIMPLE ITERATION FOR SOLVING POLYNOMS Pn(x) = 0\n";
    cout<<"Enter power of polinom : ";cin>>n;
    int i;//Переменна счётчик
    double * a = new double[n + 1];//Выделяем память под коэффициенты полинома
    for(i = 0; i <=n; i++)
    {
        cout<<"a"<<i<<" = ";cin>>a[i];
    }
    double x;//Будет содержать корень уравнения
    cout<<"Enter initial value of x   :  ";cin>>x;
    double e;
    cout<<"Enter error of calculations : ";cin>>e;
    i = 0;
    for(i = 0; (e < fabs(P(n,a,x)/D(n,a,x))); i++)
    {
        cout<<"Iteration #"<<i + 1<<endl;
        cout<<"    x = "<<x<<endl;
        cout<<"Pn(x) = "<<P(n,a,x)<<endl;
        x = x - P(n,a,x)/D(n,a,x);
    }
    cout<<"ANSWER\n";
    cout<<"    x = "<<x<<endl;
    cout<<"Pn(x) = "<<P(n,a,x)<<endl;
    system("pause");
    return 0;
}
Указанный алгоритм можно применять для полиномов любой степени
Миниатюры
Программа решающая кубическое уравнение   Программа решающая кубическое уравнение  
Yandex
Объявления
07.06.2012, 22:11     Программа решающая кубическое уравнение
Ответ Создать тему
Опции темы

Текущее время: 04:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru