Найти корни квадратного уравнения и сделать их проверку подстановкой в уравнение - C (СИ)
Формулировка задачи:
Всех приветствую.
Опыта почти нет, сижу вот разбираюсь, как и что работает на си.
С нахождением корней вроде как разобрался, всё считает. А вот как сделать проверку, пока не соображу. Думал подставить корни в уравнение, посчитать и сравнить с 0. Но как сравнить число double с 0 пока не пойму.
Заранее благодарю за помощь.
#include <stdio.h>
#include <conio.h>
main()
{
int a,b,c,D;
double x1,x2,z1,z2,pr1,pr2,eps=0.001;
printf("\nVvedite koeficienty a b c cherez probel: ");
scanf("\n%d%d%d",&a,&b,&c);
printf("\nKoeficienty a b c ravny: %d %d %d",a,b,c);
printf("\n\nUravnenie vygliadit tak: %d*(x^2)+%d*x+%d=0",a,b,c);
D=b*b-4*a*c;
printf("\n\nDiskriminant raven: D=b^2-4*a*c=%d",D);
if (D>0)
{
printf("\n\nD>0 znachit uravnenie imeet 2 deistvitelnyh kornia");
x1=(double)(-b+sqrt(D))/(2*a);
printf("\n\nx1= %f",x1);
x2=(double)(-b-sqrt(D))/(2*a);
printf("\n\nx2= %f",x2);
}
else
if (D<0)
{
printf("\n\nD<0 znachit uravnenie imeet 2 kompleksnyh kornia");
x1=(double)-b/(2*a);
z1=(double)sqrt(-D)/(2*a);
printf("\n\nx1= %f+%f*i",x1,z1);
x2=(double)-b/(2*a);
z2=(double)sqrt(-D)/(2*a);
printf("\n\nx1= %f-%f*i",x2,z2);
}
else
{
printf("\n\nD=0 znachit uravnenie imeet 1 koren'");
x1=(double)-b/(2*a);
printf("\n\nx1=x2= %f",x1);
}
getch();
}Решение задачи: «Найти корни квадратного уравнения и сделать их проверку подстановкой в уравнение»
textual
Листинг программы
if (fabs(double_value) < eps) {}