Напишите программу для вычисления и вывода на экран корней квадратного уравнения

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

Задать свой вопрос
Александра Пепехина
По одному вводить либо сходу три можно? И еще? при отрицательном дискриминанте считать, что решения нет либо выдавать всеохватывающие корни?
Анжелика Марясова
Понятно, создатель вопроса - пофигист)
Ульяна Байбанова
Вам не должны отвечать в ту же минутку, в которую Вы задали вопрос. Автор в инактиве с того момента, когда задал вопрос.
Оксана
.. в которую Вы откоментировали*
Kostja Poletyko
Хоть какой, задавший вопрос и тут же ушедший в оффлайн - или пофигист, или очень уверенный в себе человек, что все равно ведет к пофигизму. Всегда могут быть аспекты, которые создатель вопроса не учел.
Миха Аржанкин
Уж за 20 с излишним минут можно было поинтересоваться долей вопроса.
2 ответа

Хорошо, означает будет с всеохватывающими.

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 gt; 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.15

x1 = -2.56084694733339

x2 = 1.06084694733339

Введите через пробел a, b, c: 3 4 5

x1 = -0.666666666666667 - 1.10554159678513 I

x2 = -0.666666666666667 + 1.10554159678513 I

Код

include lt;iostreamgt;

include lt;math.hgt; // for sqrt() function

using namespace std;

int main()

   setlocale(LC_ALL, "Russian");

   int a, b, c;

   double D;

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

   cin gt;gt; a gt;gt; b gt;gt; c;

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

   if(D lt; 0)

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

       return 0;

   

   else if(D == 0)

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

       return 0;

   

   else if(D gt; 0)

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

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

       (-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

, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт