C++ Program to Find Roots of Quadratic Equation

Here you will get simple C++ program to find roots of quadratic equation ax2+bx+c=0.

#include<iostream>
#include<math.h> //to calculate square root

using namespace std;

int main()
{
	float root1,root2,a,b,c,d,imaginaryPart,realPart;
	cout<<"Quadratic Equation is ax^2+bx+c=0";
	cout<<"\nEnter values of a,b and c:";
	cin>>a>>b>>c;
	
	d=(b*b)-(4*a*c);
	
	if(d>0)
	{
		cout<<"\nTwo real and distinct roots";
		root1=(-b+sqrt(d))/(2*a);
		root2=(-b-sqrt(d))/(2*a);
		cout<<"\nRoots are "<<root1<<" and "<<root2;
	}
	else if(d==0)
		{
			cout<<"\nTwo real and equal roots";
			root1=root2=-b/(2*a);
			cout<<"\nRoots are "<<root1<<" and "<<root2;
		}
		else{
			cout<<"\nRoots are complex and imaginary";
			realPart = -b/(2*a);
            imaginaryPart = sqrt(-d)/(2*a);
        	cout<<"\nRoots are "<<realPart<<"+"<<imaginaryPart<<"i and "<<realPart<<"-"<<imaginaryPart<<"i";
		}

	return 0;
}

Output

Quadratic Equation is ax^2+bx+c=0
Enter values of a,b and c:3
4
1

Two real and distinct roots
Roots are -0.333333 and -1

5 thoughts on “C++ Program to Find Roots of Quadratic Equation”

  1. The first two conditions, where d>0 or d=0 are same. In the third condition, that is d<0, do the following:

    cout<<"Roots are complex and distinct";
    int i;
    root1= (-b +sqrt(-d)i)/(2*a);
    root2= (-b – sqrt(-d)i)/(2*a);
    cout<<"Roots are "<<root1<<" and "<<root2<<endl;

Leave a Comment

Your email address will not be published. Required fields are marked *