fork download
  1. #include <iostream>
  2. #include <cmath>
  3. using namespace std;
  4.  
  5. void rozwiazRownanie(double a, double b, double c)
  6. {
  7. cout << "Rownanie: " << a << "x^2 + " << b << "x + " << c << " = 0\n";
  8.  
  9. double delta = b * b - 4 * a * c;
  10. cout << "Delta = " << delta << endl;
  11.  
  12. if (delta > 0)
  13. {
  14. double x1 = (-b - sqrt(delta)) / (2 * a);
  15. double x2 = (-b + sqrt(delta)) / (2 * a);
  16.  
  17. cout << "Pierwiastki rzeczywiste:\n";
  18. cout << "x1 = " << x1 << endl;
  19. cout << "x2 = " << x2 << endl;
  20.  
  21. // Sprawdzenie wzorów Viete'a
  22. cout << "Viete:\n";
  23. cout << "x1 + x2 = " << x1 + x2 << " (powinno byc " << -b / a << ")\n";
  24. cout << "x1 * x2 = " << x1 * x2 << " (powinno byc " << c / a << ")\n";
  25. }
  26. else if (delta == 0)
  27. {
  28. double x = -b / (2 * a);
  29. cout << "Jeden pierwiastek podwojny:\n";
  30. cout << "x = " << x << endl;
  31. }
  32. else
  33. {
  34. cout << "Brak pierwiastkow rzeczywistych.\n";
  35. }
  36.  
  37. cout << "---------------------------\n";
  38. }
  39.  
  40. int main()
  41. {
  42. // Rownanie 1
  43. rozwiazRownanie(5, 4, 2);
  44.  
  45. // Rownanie 2
  46. rozwiazRownanie(1, 10000, 1);
  47.  
  48. return 0;
  49. }
  50.  
Success #stdin #stdout 0.01s 5260KB
stdin
Standard input is empty
stdout
Rownanie: 5x^2 + 4x + 2 = 0
Delta = -24
Brak pierwiastkow rzeczywistych.
---------------------------
Rownanie: 1x^2 + 10000x + 1 = 0
Delta = 1e+08
Pierwiastki rzeczywiste:
x1 = -10000
x2 = -0.0001
Viete:
x1 + x2 = -10000 (powinno byc -10000)
x1 * x2 = 1 (powinno byc 1)
---------------------------