i wrote this program..sweat all over it...but its not working..can any one help me figure my mistake?
Code:
#include <string>
#include <iostream>
#include <cmath>
using namespace std;
int QuadRoots ( double a, double b, double c, double &r1, double &r2);
int main()
{
int result = 0;
double a, b, c;
double r1,r2;
cout << "Quadratic coefficients: ";
cin >> a >> b >> c;
result = QuadRoots(a, b, c, r1, r2);
if (result == 0)
{
cout << "Roots: " << "r1= " << " " << "r2= "
<< endl;
}
else if(result == 1)
{
cout << "One of the root is negative";
}
else if(result == 2)
{
cout << "One of the root is 0";
}
return 0;
}
int QuadRoots ( double a, double b, double c, double &r1, double &r2)
{
int result = 0;
if(a == 0)
{
result = 2;
}
if((b*b - 4*a*c) < 0)
{
result = 1;
}
if ((a != 0) && ((b*b - 4*a*c) > 0))
{
double radical = sqrt(b*b - 4*a*c);
&r1 = (-b + radical) / (2*a);
&r2 = (-b - radical) / (2*a);
result = 0;
}
return result;
}