/*racines de polynomes du second degré eqn: ax^2 + bx + c = 0 racines: x = (-b +/- sqrt(b^2 - 4ac))/2a */ #include #include using namespace std; //prototype de la fonction racine2 int racine2(double a, double b, double c, double &x1, double &x2); int main() { double a = 0., b = 0., c = 0.; cout << "Entrez les coefficients de l'equation ?\n"; cin >> a; cin >> b; cin >> c; //calcul des racines avec la fonction racine 2 double x1, x2; int flag = racine2(a, b, c, x1, x2); if (flag < 0) cout << "L'equation n'a pas des solutions reelles ! " << endl; else if (flag == 0) cout << "Les solutions sont x1 = " << x1 << " et x2 = " << x2 << endl; else if (flag == 1) cout << "On a deux solutions identiques x1 = x2 = " << x1 << endl; else if (flag == 2) { cout << "a est nul, il s'agit d'une equation de 1ere degree !\n"; cout << "La solution est " << -c/b << endl; } return 0; } //definition de la fonction racine2 int racine2(double a, double b, double c, double &x1, double &x2) { if (a == 0.) return 2; double delta = b*b - 4.*a*c; if (delta < 0.) return -1; x1 = (-b - sqrt(delta) ) / (2.*a); x2 = (-b + sqrt(delta) ) / (2.*a); if (delta == 0.) return 1; return 0; }