C++ Program - Find Roots of a Quadratic Equation

A standard form of a quadratic equation is:

ax2 + bx + c = 0

Where:

a, b and c are real numbers and a ≠ 0.

Roots of the equation are: For Example:

The roots of equation x2 + 5x + 4 = 0 is The roots of the equation will be imaginary if D = b2 - 4ac < 0. For example - the roots of equation x2 + 4x + 5 = 0 will be Method : Calculate roots of a Quadratic equation

In the example below, a function called roots is created which takes a, b and c as arguments to calculate the roots of the equation ax2 + bx + c = 0.

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

static void roots(double, double, double);

static void roots(double a, double b, double c) {
double D = b*b - 4*a*c;
if (D >= 0) {
double x1 = (-b + sqrt(D))/(2*a);
double x2 = (-b - sqrt(D))/(2*a);
cout<<"Roots are: "<<x1<<", "<<x2<<"\n";
} else {
double x1 = -b/(2*a);
double x2 = sqrt(-D)/(2*a);
cout<<"Roots are: "<<x1<<"±"<<x2<<"i\n";
}
}

int main() {
cout<<"Equation is x*x+5x+4=0\n";
roots(1,5,4);
cout<<"\nEquation is x*x+4x+5=0\n";
roots(1,4,5);
return 0;
}

The above code will give the following output:

Equation is x*x+5x+4=0
Roots are: -1, -4

Equation is x*x+4x+5=0
Roots are: -2±1i

5