Assignments » Flow Of Control » Set1 » Solution 9

Write a program to find the roots of a quadratic equation of type ax2+bx+c where a is not equal to zero.

 


#include<iostream>
#include<math.h>
using namespace std;


int main()
{
	float a,b,c,d,root1,root2;
	cout<<"Enter value of  a, b and c : ";
	cin>>a>>b>>c;

	d=b*b-4*a*c;

	if(d==0)
	{
		root1=(-b)/(2*a);
		root2=root1;
		cout<<"Roots are real & equal";
  	}
	else if(d>0)
	{
		root1=-(b+sqrt(d))/(2*a);
		root2=-(b-sqrt(d))/(2*a);
		cout<<"Roots are real & distinct";
	}
	else
	{
		root1=(-b)/(2*a);
		root2=sqrt(-d)/(2*a);
		cout<<"Roots are imaginary";
	}

	cout<<"\nRoot 1= "<<root1<<"\nRoot 2= "<<root2;


	return 0;
}

 

 

SAMPLE RUN # 1

Enter value of a, b and c : 1.0 -10.0 25.0
Roots are real & equal
Root 1= 5
Root 2= 5

SAMPLE RUN # 2

Enter value of a, b and c : 1.0 5.0 2.0
Roots are real & distinct
Root 1= -4.56155
Root 2= -0.438447

SAMPLE RUN # 3

Enter value of a, b and c : 1.0 2.0 5.0
Roots are imaginary
Root 1= -1
Root 2= 2