Risonna

lab2_n2(fixed)

Oct 31st, 2019
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.67 KB | None | 0 0
  1. #include <iostream>
  2. #include <math.h>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.     float a, b, c, D, x1, x2;
  8.  
  9.     bool t;
  10.     cout << "a="; cin >> a;
  11.     cout << "b="; cin >> b;
  12.     cout << "c="; cin >> c;
  13.     if (a == 0)
  14.     {
  15.         cout << "Переменная a не соответствует условиям\n";
  16.     }
  17.     else
  18.     {
  19.         if (b == 0 || c == 0)
  20.         {
  21.             cout << "Неполное вадратное уравнение, 2 корня:\n";
  22.             if (c == 0)
  23.             {
  24.                 if (b == 0)
  25.                 {
  26.                     x1 = 0;
  27.                     x2 = x1;
  28.                     t = true;
  29.                     cout << "Один корень, равный нулю, то есть x=" << x1;
  30.                 }
  31.                 else
  32.                 {
  33.                     x1 = 0;
  34.                     x2 = ((-1) * b / a);
  35.                     t = true;
  36.                     cout << "x1=" << x1 << "\n" << "x2=" << x2 << "\n";
  37.                 }
  38.             }
  39.             if(b==0)
  40.             {
  41.                 if(c==0)
  42.                 {
  43.                     x1 = 0;
  44.                     x2 = x1;
  45.                     t = true;
  46.                     cout << "Один корень, равный нулю, то есть x=" << x1;
  47.                 }
  48.                 else
  49.                 {
  50.                     t = true;
  51.                     x1 = sqrt(c / a); x2 = (-1) * (sqrt(c / a));
  52.                     cout << "x1=" << x1 << "\n" << "x2=" << x2;
  53.                 }
  54.             }
  55.         }
  56.         else
  57.         {
  58.             D = (b * b) - (4 * a * c);
  59.             if (D < 0)
  60.             {
  61.                 cout << "Нет вещественных корней\n";
  62.                 t = false;
  63.             }
  64.             else
  65.             {
  66.                 if (D == 0)
  67.                 {
  68.                     t = true;
  69.                     x1 = (b * (-1)) / (2 * a);
  70.                     x2 = x1;
  71.                     cout << "Один вещественный корень" << x1 << "\n";
  72.                 }
  73.                 else
  74.                 {
  75.                     t = true;
  76.                     x1 = ((-b) + sqrt(D)) / (2 * a);
  77.                     x2 = ((-b) - sqrt(D)) / (2 * a);
  78.                     cout << "Два вещественных корня\n";
  79.                     cout << "x1=" << x1 << "\n";
  80.                     cout << "x2=" << x2 << "\n";
  81.                 }
  82.             }
  83.         }
  84.     }
  85.     return 0;
  86. }
Advertisement
Add Comment
Please, Sign In to add comment