//To find the roots of a quadratic equation
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double a,b,c,d,e,f,g,root1,root2; //a,b,c for coefficients, d,e,f,g are used in making calculations easier and root1,root2 are the solutions
cout<<"Enter the coefficient of x^2\n"; //Input the coefficient of x^2 cin>>a;
cout<<"Enter the coefficient of x\n"; //Input the coefficient of x cin>>b;
cout<<"Enter the coefficient of x^0\n"; //Input the coefficient of x^0 cin>>c;
d=pow(b,2)-4.0*a*c; //b^2-4ac
if (d==0) //condition for real and equal roots
{
root1=(-b)/(2.0*a); //root
cout<<"\nThe equation has equal and real roots, that are, \n"<<root1<<" &"<<root1; } else if (d>0) //condition for real and distinct roots
{
e=sqrt(d); //(b^2-4ac)^1/2
root1=(-b+e)/(2*a); //[-b+(b^2-4ac)^1/2]/(2*a)
root2=(-b-e)/(2*a); //[-b-(b^2-4ac)^1/2]/(2*a)
cout<<"\nThe equation has distinct and real roots, that are, \n"<<root1<<" &"<<root2;
}
else if (d<0) //condition for imaginary roots
{
d=-d; /*for making the value of (b^2-4ac)^1/2 as positive
so that its root can be taken*/
e=sqrt(d); //(b^2-4ac)^1/2
f=-b/(2.0*a); //Real Part
g=e/(2.0*a); //Imaginary part
cout<<"\nThe equation has imaginary roots, that are,\n"<<f<<"+"<<g<<"i &"<<f<<"-"<<g<<"i\n";
}
return 0;
}
/*Sample Output
a=95
b=6
c=-8
Roots are: 0.260325 & -0.323483
*/

I'm a physicist specializing in theoretical, computational and experimental condensed matter physics. I like to develop Physics related apps and softwares from time to time. Can code in most of the popular languages. Like to share my knowledge in Physics and applications using this Blog and a YouTube channel.