Advertisement
frustration

DONE. биквадратное ур-е. функция

Feb 22nd, 2019
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.56 KB | None | 0 0
  1. //решение биквадратного уравнения
  2. //a*x^4+b*x^2+c=0
  3. //с заданными коэффициетами(ошибка когда х1=0, корни 0 и -0)
  4. #include<iostream>
  5. #include <cmath>
  6.  
  7.  
  8. using namespace std;
  9.  
  10.  
  11. void biquadratic(float a,float b,float c){
  12.     float x1, x2, d;
  13.    
  14.         d = b*b - 4 * a*c;
  15.         if (d < 0)
  16.             cout << "Уравнение не имеет действиельных корней" << endl;
  17.         else if (d == 0){
  18.             x1 = -d / 2.0 / a;
  19.             if (x1 < 0)
  20.                 cout << "Уравнение не имеет действительных корней" << endl;
  21.             else{
  22.                 cout << "Уравнение имеет два действительных корня" << endl;
  23.                 cout << "x1=" << sqrt(x1) << endl;
  24.                 cout << "x2=" << -sqrt(x1) << endl;
  25.             }
  26.         }
  27.         else{
  28.             x1 = (-b + sqrt(d)) / 2.0 / a;
  29.             x2 = (-b - sqrt(d)) / 2.0 / a;
  30.             if (x1 > 0 && x2 > 0){
  31.                 cout << "Уравнение имеет 4 действительных корня" << endl;
  32.                 cout << "x1=" << sqrt(x1) << endl;
  33.                 cout << "x2=" << -sqrt(x1) << endl;
  34.                 cout << "x3=" << sqrt(x2) << endl;
  35.                 cout << "x4=" << -sqrt(x2) << endl;
  36.             }
  37.             else if (x1>0 && x2 < 0){
  38.                 cout << "Уравнение имеет два действительных корня" << endl;
  39.                 cout << "x1=" << sqrt(x1) << endl;
  40.                 cout << "x2=" << -sqrt(x1) << endl;
  41.             }
  42.             else if (x1 < 0 && x2>0){
  43.                 cout << "Уравнение имеет два действительных корня" << endl;
  44.                 cout << "x1=" << sqrt(x2) << endl;
  45.                 cout << "x2=" << -sqrt(x2) << endl;
  46.             }
  47.             else{
  48.                 cout << "Уравнение не имеет действительных корней" << endl;
  49.  
  50.             }
  51.         }
  52.        
  53.     }
  54. void number(int k){
  55.     float a,b,c;
  56.     for (int i=0; i<k; i++){
  57.         cout << "Введите коэффиценты биквадратного уравнения,где а != 0: " << endl;
  58.         cout<<"a=";
  59.         cin >> a;
  60.         cout<<"b=";
  61.         cin >> b;  
  62.         cout<<"c=";
  63.         cin >> c;
  64.         cout << "Решаем уравнение: " << endl;
  65.         if (b>0||c>0)
  66.         cout << a << "*x^4+" << b << "*x^2+" << c << "=0" << endl;
  67.         else if (b<0 && c<0)
  68.         cout << a << "*x^4" << b << "*x^2" << c << "=0" << endl;
  69.         else if (c<0)
  70.         cout << a << "*x^4+" << b << "*x^2" << c << "=0" << endl;
  71.         else
  72.         cout << a << "*x^4" << b << "*x^2+" << c << "=0" << endl;
  73.            biquadratic(a,b,c);
  74.         }
  75.     }
  76.  
  77.  
  78. int main(){
  79.  setlocale(LC_ALL, "Russian");
  80.  int k;
  81.  cout<<"Введите количество повторений: ";
  82.  cin>> k;
  83. number(k);
  84.     return 0;
  85.  
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement