Home » Blog » C++ Program to Find All Roots of a Quadratic Equation

# C++ Program to Find All Roots of a Quadratic Equation In this program, you’ll learn to find Find Quadratic Equation Roots and All Roots of a Quadratic Equation.

This program accepts coefficients of a quadratic equation from the user and displays the roots (both real and complex roots depending upon the determinant) or just Find Quadratic Equation Roots.

To understand this example to Find Quadratic Equation Roots, you should have the knowledge of following C++ programming topics:

• C++ if, if…else and Nested if…else

For a quadratic equation ax2+bx+c = 0 (where a, b and c are coefficients), its roots are given by following the formula.

The term `b2-4ac` is known as the determinant of a quadratic equation. The determinant tells the nature of the roots.

1. If the determinant is greater than 0, the roots are real and different.
2. If the determinant is equal to 0, the roots are real and equal.
3. If the determinant is less than 0, the roots are complex and different.

#### Program to Find Roots of a Quadratic Equation

``````#include <iostream>
#include <cmath>
using namespace std;

int main() {

float a, b, c, x1, x2, determinant, realPart, imaginaryPart;
cout << "Enter coefficients a, b and c: ";
cin >> a >> b >> c;
determinant = b*b - 4*a*c;

if (determinant > 0) {
x1 = (-b + sqrt(determinant)) / (2*a);
x2 = (-b - sqrt(determinant)) / (2*a);
cout << "Roots are real and different." << endl;
cout << "x1 = " << x1 << endl;
cout << "x2 = " << x2 << endl;
}

else if (determinant == 0) {
cout << "Roots are real and same." << endl;
x1 = (-b + sqrt(determinant)) / (2*a);
cout << "x1 = x2 =" << x1 << endl;
}

else {
realPart = -b/(2*a);
imaginaryPart =sqrt(-determinant)/(2*a);
cout << "Roots are complex and different."  << endl;
cout << "x1 = " << realPart << "+" << imaginaryPart << "i" << endl;
cout << "x2 = " << realPart << "-" << imaginaryPart << "i" << endl;
}

return 0;
}``````

Output

``````Enter coefficients a, b and c: 4
5
1
Roots are real and different.
x1 = -0.25
x2 = -1``````
In this program, `sqrt()` library function is used to find the square root of a number.