**Photo by Nemuel Sereti**

Straightforward C++ program to find all the roots of a quadratic equation:

`#include <iostream> #include <cmath> using namespace std; int main() { double a, b, c; double root1, root2, discriminant, realPart, imaginaryPart; // Get coefficients a, b, and c from the user cout << "Enter coefficients a, b, and c: "; cin >> a >> b >> c; // Calculate the discriminant discriminant = b * b - 4 * a * c; // Check the nature of the roots using the discriminant if (discriminant > 0) { // Two distinct real roots root1 = (-b + sqrt(discriminant)) / (2 * a); root2 = (-b - sqrt(discriminant)) / (2 * a); cout << "Roots are real and different." << endl; cout << "Root 1 = " << root1 << endl; cout << "Root 2 = " << root2 << endl; } else if (discriminant == 0) { // Two equal real roots root1 = root2 = -b / (2 * a); cout << "Roots are real and the same." << endl; cout << "Root 1 = Root 2 = " << root1 << endl; } else { // Complex roots realPart = -b / (2 * a); imaginaryPart = sqrt(-discriminant) / (2 * a); cout << "Roots are complex and different." << endl; cout << "Root 1 = " << realPart << " + " << imaginaryPart << "i" << endl; cout << "Root 2 = " << realPart << " - " << imaginaryPart << "i" << endl; } return 0; }`

Explanation:

- We include the necessary headers: iostream for input/output and cmath for mathematical functions.
- We declare variables to store the coefficients aaa, bbb, and ccc, the roots, and parts of the roots.
- We prompt the user to enter the coefficients of the quadratic equation.
- We calculate the discriminant (b2−4acb^2 – 4acb2−4ac).
- We check the value of the discriminant to determine the nature of the roots:
- If the discriminant is greater than zero, the equation has two distinct real roots.
- If the discriminant is zero, the equation has two equal real roots.
- If the discriminant is less than zero, the equation has two complex roots.

- We print the roots based on the above conditions.

## Leave a Reply