fork download
  1. #include <iostream>
  2. #include <cmath>
  3. using namespace std;
  4.  
  5. int main() {
  6. double a, b, c;
  7. std::cin >> a >> b >> c;
  8. if (a == 0 && b == 0 && c != 0)
  9. {
  10. std::cout << "Non-quadratic equation\nNo solutions";
  11. }
  12. else if (a == 0 && b != 0 && c != 0)
  13. {
  14. double x = -c/b;
  15. std::cout << "Non-quadratic equation\nOne solution: " << x;
  16. }
  17. else if (b == 0 && a != 0 && c != 0)
  18. {
  19. int D = b*b - 4*a*c;
  20. if (D > 0)
  21. {
  22. std::cout << "Quadratic equation\nDiscriminant: " << D << "\n" << "Two solutions: " << -b+std::sqrt(D)/2 << " " << -b-std::sqrt(D)/2;
  23. }
  24. if (D < 0)
  25. {
  26. std::cout << "Quadratic equation\nDiscriminant: " << D << "\n" << "No Solutions";
  27. }
  28. }
  29. else if (a == 0 && b == 0 && c == 0)
  30. {
  31. std::cout << "Non-quadratic equation\nInfinite solutions";
  32. }
  33. else
  34. {
  35. int D = b*b - 4*a*c;
  36. if (D > 0)
  37. {
  38. std::cout << "Quadratic equation\nDiscriminant: " << D << "\nTwo solutions: " << -b+std::sqrt(D)/2 << " " << -b-std::sqrt(D)/2;
  39. }
  40. if (D < 0)
  41. {
  42. std::cout << "Quadratic equation\nDiscriminant: " << D << "\nNo Solutions";
  43. }
  44. }
  45. }
Success #stdin #stdout 0s 16064KB
stdin
0 0 0
stdout
Non-quadratic equation
Infinite solutions