Проблема с кодом

Проблема с кодом.
Сделал калькулятор квадратных уравнений, все работает, но есть одна загвоздка - иногда меняются местами значения x1 и x2.

То есть, при значениях 2, -6, 3, x1 = 2.36603, x2 = 0,633975, хотя, при правильном решении, ответы - x1 = 0,633975, x2 = 2.36603.
С другими коэффициентами то же самое.

Сам код:

#include
#include

using namespace std;

int main()
{

double a, b, c, x1, x2, d;

cout < < "Vvedite coeficent a, b, c " << endl;
cin >> a >> b >> c;

d = b * b - 4 * a * c;
cout < < "Discriminant raven " << d << endl; if (d > 0)
{

x1 = (-b + sqrt (d)) / (2 * a);
cout < < "X1 raven " << x1 << endl; x2 = (-b - sqrt (d)) / (2 * a);
cout < < "X2 raven " << x2 << endl;
}

if (d < 0)
{
cout < < "Korney net" << endl;
}

return 0;
}

  • Они не "меняются". Компьютер делает только то, что ты ему "скажешь"

    x1 = (-b + sqrt (d)) / (2 * a);
    cout < < "X1 raven " << x1 << endl; x2 = (-b - sqrt (d)) / (2 * a); cout << "X2 raven " << x2 << endl; поменяй местами, бесстыдник