Найти корни квадратного уравнения и сделать их проверку подстановкой в уравнение - 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) {}
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д