File: Stare vježbe/vjezbe03/18__if.c

  1. /*
  2.   18__if.c
  3.   Uvodjenje if-else naredbi
  4.   -----
  5.   Program sluzi za rjesavanje kvadratne jednadzbe a*x^2+b*x+c==0.
  6.   Program ucitava koeficijente a, b i c, te analizom
  7.   diskriminante kvadratne jednadzbe, ispisuje odgovarajuce(a)
  8.   rjesenje(a).
  9.  
  10.   Napomena: Ovaj primjer je potrebno compilirati s opcijom -lm buduci da se
  11.   koriste funkcije iz matematicke biblioteke.
  12.   npr: gcc 18__if.c -lm
  13. */
  14.  
  15. #include <stdio.h>
  16. #include <math.h>
  17.  
  18. int main()
  19. {
  20. double a, b, c, d;
  21.  
  22. printf("Unesite a, b i c:\n");
  23. scanf("%lf %lf %lf", &a, &b, &c);
  24.  
  25. if (a==0) printf("Jednadzba je linearna.\n");
  26. else
  27. {
  28. d = b*b - 4*a*c;
  29. if (d==0)
  30. {
  31. double x;
  32. x= -b / (2*a);
  33. printf("Rjesenje jednadzbe: %.4f\n", x);
  34. }
  35. else if (d>0)
  36. {
  37. double x1, x2;
  38. x1 = (-b + sqrt(d) ) / (2*a);
  39. x2 = (-b - sqrt(d) ) / (2*a);
  40. printf("Rjesenja jednadzbe su: x1=%.4f \t x2=%.4f\n", x1, x2);
  41. }
  42. else
  43. {
  44. double re, im;
  45. re = -b / (2*a);
  46. im = sqrt(-d) / (2*a);
  47. printf("x1=%.4f + i*%.4f\n", re, im);
  48. printf("x2=%.4f - i*%.4f\n", re, im);
  49. }
  50. }
  51.  
  52. return 0;
  53. }
  54.