Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //решение биквадратного уравнения
- //a*x^4+b*x^2+c=0
- //с заданными коэффициетами(ошибка когда х1=0, корни 0 и -0)
- #include<iostream>
- #include <cmath>
- using namespace std;
- void biquadratic(float a,float b,float c){
- float x1, x2, d;
- d = b*b - 4 * a*c;
- if (d < 0)
- cout << "Уравнение не имеет действиельных корней" << endl;
- else if (d == 0){
- x1 = -d / 2.0 / a;
- if (x1 < 0)
- cout << "Уравнение не имеет действительных корней" << endl;
- else{
- cout << "Уравнение имеет два действительных корня" << endl;
- cout << "x1=" << sqrt(x1) << endl;
- cout << "x2=" << -sqrt(x1) << endl;
- }
- }
- else{
- x1 = (-b + sqrt(d)) / 2.0 / a;
- x2 = (-b - sqrt(d)) / 2.0 / a;
- if (x1 > 0 && x2 > 0){
- cout << "Уравнение имеет 4 действительных корня" << endl;
- cout << "x1=" << sqrt(x1) << endl;
- cout << "x2=" << -sqrt(x1) << endl;
- cout << "x3=" << sqrt(x2) << endl;
- cout << "x4=" << -sqrt(x2) << endl;
- }
- else if (x1>0 && x2 < 0){
- cout << "Уравнение имеет два действительных корня" << endl;
- cout << "x1=" << sqrt(x1) << endl;
- cout << "x2=" << -sqrt(x1) << endl;
- }
- else if (x1 < 0 && x2>0){
- cout << "Уравнение имеет два действительных корня" << endl;
- cout << "x1=" << sqrt(x2) << endl;
- cout << "x2=" << -sqrt(x2) << endl;
- }
- else{
- cout << "Уравнение не имеет действительных корней" << endl;
- }
- }
- }
- void number(int k){
- float a,b,c;
- for (int i=0; i<k; i++){
- cout << "Введите коэффиценты биквадратного уравнения,где а != 0: " << endl;
- cout<<"a=";
- cin >> a;
- cout<<"b=";
- cin >> b;
- cout<<"c=";
- cin >> c;
- cout << "Решаем уравнение: " << endl;
- if (b>0||c>0)
- cout << a << "*x^4+" << b << "*x^2+" << c << "=0" << endl;
- else if (b<0 && c<0)
- cout << a << "*x^4" << b << "*x^2" << c << "=0" << endl;
- else if (c<0)
- cout << a << "*x^4+" << b << "*x^2" << c << "=0" << endl;
- else
- cout << a << "*x^4" << b << "*x^2+" << c << "=0" << endl;
- biquadratic(a,b,c);
- }
- }
- int main(){
- setlocale(LC_ALL, "Russian");
- int k;
- cout<<"Введите количество повторений: ";
- cin>> k;
- number(k);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement