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

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

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
Quadratic Equation 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.
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
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.

Related Programs

  1. C++ Program to Check Whether a Character is Vowel or Consonant
  2. C++ Program to Find the Largest Number Of Three Numbers
  3. C++ Program to Calculate Sum of Natural Numbers
  4. C++ Program to Check Leap Year
  5. C++ Program to check Amstrong Number.
  6. C++ Programs To Create a Pyramid and Pattern
  7. C++ Program to Check Whether a Number is Prime or Not
  8. C++ Program to display Amstrong Number between Two intervals.
  9. C++ Program to create a Pyramid and Pattern.
  10. C++ Program to make a simple calculator using switch…case.

Ask your questions and clarify your/other 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.