Код:
4х^2 + 3х – 5 = 0
Оно же в общем виде
Код:
ах^2 + bх – с = 0.
Дискриминант:
Код:
D = b^2 – 4ac
корни:
Код:
х1 = (-b + sqrt(D)) / 2a
x2 = (-b - sqrt(D)) / 2a
Ключевой момент 4х^2 + 3х
– 5 = 0
Если человек учитывает такое число
–5, то программе, в формуле нет этого, там задаётся только
положительное число, в смысле в переменной отрицательное храниться может, но хранится в этом случае, неправильное, положительное! Тоесть в случае
Код:
...
cin>>c;
...
нужно явно указывать отрицательное!
Цитата ShadowMas:
Код:
...
cout<<"c = "<<endl;
cin>>c;
D = (b * b) - (4 * a * c);
...
»
|
и получается следующее
Код:
D = (3 * 3) - (4 * 4 * 5) = –71, Корней нет!
вместо
Код:
D = (3 * 3) – (4 * 4 * (-5)) = 89, Корень = 9,43
Х1 = (-3 + 9,43) / 8 = 0,8
Х2 = (-3 – 9,43) / 8 = -1,55
Так что нужно ещё учесть знаковые числа. Либо использовать следующую конструкцию, принудительно ставить знак минус
Код:
...
D = (b * b) - (4 * a * (—c));
...