• Напишите программу для вычисления и вывода на экран корней квадратного уравнения ax² + bx + c = 0. Значения коэффициентов уравнения вводите в диалоговом режиме.

Ответы 2

  • Код

    #include <iostream>

    #include <math.h> // for sqrt() function

    using namespace std;

    int main()

    {

       setlocale(LC_ALL, "Russian");

       int a, b, c;

       double D;

       cout << "Введите a, b, c (ax^2 + bx + c = 0) : ";

       cin >> a >> b >> c;

       D = b*b - 4*a*c;

       if(D < 0){

           cout << "Дискриминант меньше нуля, действительных корней нет!";

           return 0;

       }

       else if(D == 0){

           cout << "Дискриминант равен нулю, x0 = " << -(b/2*a);

           return 0;

       }

       else if(D > 0){

           cout << "Дискриминант больше нуля, x1 = " <<  

           (-b + sqrt(D))/(2*a) << ", x2 = " <<

           (-b - sqrt(D))/(2*a);

       }

       return 0;

    }

    Проверка

    Введите a, b, c (ax^2 + bx + c = 0) : 2 4 7

    Дискриминант меньше нуля, действительных корней нет!

    Введите a, b, c (ax^2 + bx + c = 0) : 1 6 9

    Дискриминант равен нулю, x0 = -3

    Введите a, b, c (ax^2 + bx + c = 0) : 2 4 -7  

    Дискриминант больше нуля, x1 = 1.12132, x2 = -3.12132

  • Ладно, значит будет с комплексными.

    PascalABC.NET 3.4.2, сборка 1843 от 24.10.2018Внимание! Если программа не работает, обновите версию!

    begin

     var (a, b, c) := ReadReal3('Введите через пробел a, b, c:');

     var d := b * b - 4 * a * c;

     if d = 0 then Println('х =', -b / a)

     else

     if d > 0 then

     begin

       d := Sqrt(d);

       Println('x1 =', (-b - d) / 2 / a);

       Println('x2 =', (-b + d) / 2 / a)

     end

       else

     begin

       d := Sqrt(-d);

       Println('x1 =', -b / 2 / a, '-', d / 2 / a, 'I');

       Println('x2 =', -b / 2 / a, '+', d / 2 / a, 'I')

     end

    end.

    ПримерыВведите через пробел a, b, c: 1 2 1х = -2 Введите через пробел a, b, c: 3 4.5 -8.15x1 = -2.56084694733339 x2 = 1.06084694733339 Введите через пробел a, b, c: 3 4 5x1 = -0.666666666666667 - 1.10554159678513 I x2 = -0.666666666666667 + 1.10554159678513 I
    • Автор:

      troyvxjb
    • 5 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years