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