Решение квадратного уравнения



a * x2 + b * x + c = 0

D = b2 - 4 * a * c
x1 = (- b - sqrt (D)) / (2 * a)
x2 = (- b + sqrt (D)) / (2 * a)


Листинг C++

int sqr_equation (double a, double b, double c, double & x1, double & x2)
{
    if (eq (a, 0))
        return line_equation (b, c, x1);
    
    double D = b * b - 4.000 * a * c;
    if (eq (D, 0))
    {
        x1 = - b / (2.000 * a);
        return 1;
    }
    
    if (D < 0)
        return 0;
    
    double sD = sqrt (D);
    x1 = (- b - sD) / (2.000 * a);
    x2 = (- b + sD) / (2.000 * a);
    if (x1 > x2)
        swap (x1, x2);
    return 2;
}


14:20
06.08.2009


По всем вопросам обращаться: rumterg@gmail.com