90 БАЛЛОВ.!!!!!! Написать программу в C++ !!!!!! Найти корни квадратного уравнения A·x2 +...

0 голосов
29 просмотров

90 БАЛЛОВ.!!!!!! Написать программу в C++ !!!!!! Найти корни квадратного уравнения A·x2 + B·x + C = 0, заданного своими коэффициентами A, B, C (коэффициент A не равен 0), если известно, что дискриминант уравнения положителен. Вывести вначале меньший, а затем больший из найденных корней. Корни квадратного уравнения находятся по формуле x1, 2 = (?B ± vD)/(2·A), где D — дискриминант, равный B2 ? 4·A·C.


Информатика (741 баллов) | 29 просмотров
0

Проблем собственно нет. Но все же вывод с сколькими знаками после запятой? (Большая вероятность нецелых корней)

0

В C++ на сколько я знаю, не целые числа равняются нулю.

0

Желательно конечно, чтобы знаков после запятой не было

0

Программа готова. Но все же смотрите: 2.5x^2-1.5x-11.875=0 имеет два решения: -1.9 и 2.5.Ну это простой случай. Ну а если например дискриминант уравнения равен допустим 7, то все его решения почти всегда будут иррациональными.

Дан 1 ответ
0 голосов

#include

#include

using namespace std;


int main() {

cout.precision(100);

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

cin >> a >> b >> c;

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

/* if (D<0) {</p>

 cout << "the equation has no solutions in real numbers" << endl;</p>

 return 0;

}

if (D==0) {

 cout << "x=" << -b/(2*a) << endl;</p>

 return 0;

}

Если что, это фрагмент программы для проверки D=0 и D<0. Если не нужен - просто сотри*/</p>

D=sqrt(D);

x1=(-b+D)/(2*a);

x2=(-b-D)/(2*a);

if (x1

 cout << "x1=" << x1 << endl << "x2=" << x2 << endl;</p>

else cout << "x1=" << x2 << endl << "x2=" << x1 << endl;</p>

return 0;

}


(3.5k баллов)
0

Спасибо большое