// 09252009a.cpp, P H Anderson, Sept 25, '09

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

void solve_quadratic_method_1(float a, float b, float c, float sol[] );
void solve_quadratic_method_2(float a, float b, float c, float *p1_sol, float *p2_sol);


int main(void)
{
    float sol[2], rt1, rt2;
    
    solve_quadratic_method_1(1.0, 9.0, 3.0, sol);
    printf("%f %f\n", sol[0], sol[1]);
    
    solve_quadratic_method_2(1.0, 9.0, 3.0, &rt1, &rt2);
    printf("%f %f\n", sol[0], sol[1]); 
 
    system("pause");
}

void solve_quadratic_method_1(float a, float b, float c, float sol[] )
{
    float discrim;
    
    discrim = b * b - 4 * a * c;
    
    sol[0] = -b/(2*a) + sqrt(discrim) / (2 * a);
    sol[1] = -b/(2*a) - sqrt(discrim) / (2 * a);
}
void solve_quadratic_method_2(float a, float b, float c, float *p1_sol, float *p2_sol)
{    
    float discrim;
    
    discrim = b * b - 4 * a * c;
    
    *p1_sol = -b/(2*a) + sqrt(discrim) / (2 * a);
    *p2_sol = -b/(2*a) - sqrt(discrim) / (2 * a);
}