C++ Program to Find All Roots of a Quadratic Equation

1317
views
Find Quadratic Equation Roots

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.

quadratic equation roots

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.
Find Quadratic Equation Roots
source: Programiz

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

C++ Program to Find Roots of a Quadratic Equation

In this program, sqrt() library function is used to find the square root of a number.

Ask your questions and clarify your/others doubts on how to Find Quadratic Equation Roots by commenting. Documentation.

Please write to us at [email protected] to report any issue with the above content or for feedback.

Related Programs