1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
#include<iostream>
#include<cmath>
using namespace std;
bool QuadraticFormula(float a, float b, float c, float* r1, float* r2,float* i1,float* i2)
{
float d=(b*b-4*a*c);
if ( d<0)
{
*r1=*r2=-b/(2*(a));
*i1= sqrt(-d)/(2*a);
*i2= -sqrt(-d)/(2*a);
return false;
}
else
{
*i1=*i2=0;
*r1=(-b+sqrt(d))/(2*(a));
*r2=(-b-sqrt(d))/(2*(a));
return true;
}
}
int main()
{
float a=0.0f,b=0.0f,c=0.0f,r1=0.0f,r2=0.0f,i1=0.0f,i2=0.0f;
cout<<"enter a:";
cin>>a;
cout<<endl;
cout<<"enter b:";
cin>>b;
cout<<endl;
cout<<"enter c:";
cin>>c;
cout<<endl;
cout<<"coefficients a="<<a<<" b="<<b<<" c="<<c;
if(QuadraticFormula(a,b,c,&r1,&r2,&i1,&i2))
{
cout<<"yields"<<endl;
cout<<"s1="<<r1<<"+"<<i1<<"i"<<endl;
cout<<"s2="<<r2<<"+("<<i2<<")i"<<endl; }
else
{
cout<<"yields"<<endl;
cout<<"s1="<<r1<<"+"<<i1<<"i"<<endl;
cout<<"s2="<<r2<<"+("<<i2<<")i"<<endl;
}
cin.get();
return 0;
}
|