kod
#include <windows.h>
#include <iostream>
#define _USE_MATH_DEFINES
#include <math.h>
#include<cmath>
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
double a, b, c, x, xx1, xx2, x1, x2, x3, x4;
// ввод и проверка
cout<< "Введите значение a: ";
std::cin >> a;
if (!std::cin)
{
std::cout << "ОШИБКА ВВОДА! Программа завершена. " << endl; system("pause");
return 0;
};
cout<< "Введите значение b: ";
std::cin >> b;
if (!std::cin)
{
std::cout << "ОШИБКА ВВОДА! Программа завершена. " << endl; system("pause");
return 0;
};
cout <<"Введите значение c: ";
std::cin >> c;
if (!std::cin)
{
std::cout << "ОШИБКА ВВОДА! Программа завершена. " << endl; system("pause");
return 0;
};
// вычисления
if ((b*b - 4 * a*c) >= 0) //Если дискриминант больше или равен 0
{
if ((b*b - 4 * a*c) == 0) { //Если дискриминант равен нулю, корень один
x1 = -1 * b / (2 * a);
cout << "Корень равен " << x1 << endl;
} else {
if ((-b + sqrt(b*b - 4 * a*c)) / (2 * a) >= 0) { //проверка на отрицательность под корнем
x1 = sqrt((-b + sqrt(b*b - 4 * a*c)) / (2 * a));
cout << "Корень равен " << x1 << endl;
x2 = -1 * sqrt((-b + sqrt(b*b - 4 * a*c)) / (2 * a));
cout << "Корень равен " << x2 << endl;
}
if ((-b - sqrt(b*b - 4 * a*c)) / (2 * a) >= 0) { //проверка на отрицательность под корнем
x3 = sqrt((-b - sqrt(b*b - 4 * a*c)) / (2 * a));
cout << "Корень равен " << x3 << endl;
x4 = -1 * sqrt((-b - sqrt(b*b - 4 * a*c)) / (2 * a));
cout << "Четвертый корень равен " << x4 << endl;
}
}
}
else // если дискриминант меньше 0
{
cout<< "Дискриминант меньше 0, корни невещественные."<< endl;
}
system("pause");
return 0;
}