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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Павел I
0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 7
#1

Найти вещественные корни уравнения ax4+bx2+c=0 - C++

19.01.2014, 15:05. Просмотров 778. Ответов 5
Метки нет (Все метки)

Вот условие: Даны числа a, b, с (проверить, чтобы а≠0, иначе повторить ввод). Найти вещественные корни уравнения ax4+bx2+c=0. Если корней нет, дать сообщение об этом.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>   //Для функций cin, cout
#include <math.h>       //Для функций sin, pow
#include <iomanip>
using namespace std;
int main(int argc, char* argv[])
{
 
 double a,b,c;
  cout<<"Input a=";
  cin>>a;
  if(a==0) cout<<"Nelzya";
  //здесь надо сделать повтор ввода а если условие выше сработало
  cout<<"Input b=";
  cin>>b;
  cout<<"Input c=";
  cin>>c;
  cout<<endl;
 
  return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2014, 15:05     Найти вещественные корни уравнения ax4+bx2+c=0
Посмотрите здесь:

Найти все целые корни уравнения ax3+bx2+cx+d=0 - C++
Добрый вечер. Есть задача : Вводятся целые числа a,b,c,d.Найти все целые корни уравнения ax3+bx2+cx+d=0 (корни искать среди делителей...

Биквадратное уравнение ax4 + bx2 + c = 0 - C++
Решить биквадратное уравнение ax4 + bx2 + c = 0. Напишите пожалуйста программу на C++

Даны действительные числа a, b, c (a ≠ 0). Полностью исследовать биквадратное уравнение ax4 + bx2 + c = 0 - C++
Даны действительные числа a, b, c (a ≠ 0). Полностью исследовать биквадратное уравнение ax4 + bx2 + c = 0, т. е. если действительных...

Найти корни уравнения - C++
найти корни уравнения f(x)=2x^3-3x^2-3x+2=0

Найти корни уравнения - C++
f(x)=6x4+19x3-7x2-26x+12=0

Найти корни уравнения - C++
Написать программу, которая находит корни уравнения e^x=x+2 с погрешностью 10^-10. Заранее благодарен.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
19.01.2014, 15:14     Найти вещественные корни уравнения ax4+bx2+c=0 #2
Павел I,
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 <iostream>
#include<cmath>
#include<Windows.h>
 
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian");
    int A, B, C;
    float x1, x2, d;
    cout << "Введите параметры уравнения(a,b,c):" << endl;
    cin >> A >> B >> C;
    if (A == 0)
    {
        cout << "Ошибка. А должен быть не 0!!!" << endl;
        system("PAUSE");
 
        return 0;
    }
    d = pow((float)B, 2) - 4 * A*C;
    if (d < 0)
        cout << "Нет действительных корней!\n";
    else
    {
        cout<<endl;
        cout<<A<<"x^2 + "<<B<<"x + "<<C<<" = 0\n";
        cout<<endl;
        if (d == 0)
        {
            cout.setf(ios::fixed);
            cout.precision(3);
            x1 = -B / (2 * A);
            cout << "x = " << x1<<endl;
        }
        else
        {
            cout.setf(ios::fixed);
            cout.precision(3);
            x1 = (-B - sqrt(d)) / (2 * A);
            x2 = (-B + sqrt(d)) / (2 * A);
            cout << "x1 = " << x1 << endl;
            cout << "x2 = " << x2 << endl;
        }
    }
    system("PAUSE");
 
    return 0;
}
MicM
821 / 488 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
19.01.2014, 15:18     Найти вещественные корни уравнения ax4+bx2+c=0 #3
Цитата Сообщение от Павел I Посмотреть сообщение
проверить, чтобы а≠0, иначе повторить ввод
Лучше так сделать:
C++
1
2
3
4
5
6
do
{
    cout <<"A = ";
    cin >> a;
}
while (a==0);
Цитата Сообщение от Павел I Посмотреть сообщение
Найти вещественные корни уравнения ax4+bx2+c=0. Если корней нет, дать сообщение об этом.
Ну так в чем проблема?
Делайте замену:
http://www.cyberforum.ru/cgi-bin/latex.cgi?x^2 = t
Решаете кв. уравнение:
http://www.cyberforum.ru/cgi-bin/latex.cgi?at^2+bt+c = 0
Находите t
Затем возвращаетесь к замене и находите x.
Решите на листочке, потом программу проще будет написать

Добавлено через 4 минуты
cooller_94, так ведь уравнение биквадратное
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
19.01.2014, 15:43     Найти вещественные корни уравнения ax4+bx2+c=0 #4
Цитата Сообщение от MicM Посмотреть сообщение
так ведь уравнение биквадратное
Упс, не заметил.
Ну ничего, згодится под основу

Добавлено через 22 минуты
Павел I, Вот набросал для биквадратного. Если что подправишь
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<cmath>
#include<Windows.h>
 
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian");
    int A, B, C;
    float x1, x2,x3,x4, d;
    cout << "Введите параметры уравнения(a,b,c):" << endl;
    cin >> A >> B >> C;
    if (A == 0)
    {
        cout << "Ошибка. А должен быть не 0!!!" << endl;
        system("PAUSE");
 
        return 0;
    }
    d = pow((float)B, 2) - 4 * A*C;
    if (d < 0)
        cout << "Нет действительных корней!\n";
    else
    {
        cout<<endl;
        cout<<A<<"x^2 + "<<B<<"x + "<<C<<" = 0\n";
        cout<<endl;
        x1 = (-B - sqrt(d)) / (2 * A);
        x2 = (-B + sqrt(d)) / (2 * A);
        if(x1>=0 && x2>=0)
        {
            cout.setf(ios::fixed);
            cout.precision(3);
            cout << "x1 = " << sqrt(x1) << endl;
            cout << "x2 = " << -sqrt(x1) << endl;
            cout << "x3 = " << sqrt(x2) << endl;
            cout << "x4 = " << -sqrt(x2) << endl;
        }
        else
        {
            if(x1>=0)
            {
                cout.setf(ios::fixed);
                cout.precision(3);
                cout << "x1 = " << sqrt(x1) << endl;
                cout << "x2 = " << -sqrt(x1) << endl;
            }
            if(x2>=0)
            {
                cout.setf(ios::fixed);
                cout.precision(3);
                cout << "x1 = " << sqrt(x2) << endl;
                cout << "x2 = " << -sqrt(x2) << endl;
            }
        }
 
    }
    system("PAUSE");
 
    return 0;
}
Павел I
0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 7
19.01.2014, 19:00  [ТС]     Найти вещественные корни уравнения ax4+bx2+c=0 #5
Цитата Сообщение от cooller_94 Посмотреть сообщение
cout<<A<<"x^2 + "<<B<<"x + "<<C<<" = 0\n";
После этой строчки не работает
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2014, 19:15     Найти вещественные корни уравнения ax4+bx2+c=0
Еще ссылки по теме:

Найти корни уравнения - C++
Здравствуйте, хотел попросить добрых людей о помощи с написанием совсем простейшей программы, функция которой - возведение числа &quot;x&quot; в...

Найти корни уравнения - C++
Тексты надо переписывать в тело сообщения В чем ошибка ? Помогите пожалуйста.

Найти корни квадратного уравнения - C++
Задача: даны три числа a, b и с. При условии что a не равно 0 b^2 - 4ac &gt;= 0 найти корни квадратного уравнения и записать их в...

Найти корни нелинейного уравнения - C++
Здравствуйте, подскажите пожалуйста, как решить уравнение x=cosx (например на С++)

Найти корни квадратного уравнения - C++
Найти корни квадратного уравнения ax^2+bx+c=0 заданого своими коэффициентами, с положительным дискриминантом; подстановкой в уравнение...

Найти целые корни уравнения - C++
Привет! Я с С не знаком вообще, тока начал синтаксис учить,поэтому не бейте сильно. Нужно решить 3 задачки В КОНСОЛЕ: 1) Предлагает...


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

Или воспользуйтесь поиском по форуму:
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
19.01.2014, 19:15     Найти вещественные корни уравнения ax4+bx2+c=0 #6
Цитата Сообщение от Павел I Посмотреть сообщение
Сообщение от cooller_94
cout<<A<<"x^2 + "<<B<<"x + "<<C<<" = 0\n";
После этой строчки не работает
Если после этой строчке ничего не высвечивается значит невозможно вычислить корни. Можете добавить сообщение об этом.
Для проверки
Кликните здесь для просмотра всего текста

Введите параметры уравнения(a,b,c): -2 10 -3
Результат:
x1 = 2.16
x2 = -2.16
x3 = 0.56
x4 = -0.56
Yandex
Объявления
19.01.2014, 19:15     Найти вещественные корни уравнения ax4+bx2+c=0
Ответ Создать тему
Опции темы

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