C ++ program a másodfokú egyenlet összes gyökerének megkeresésére

Ez a program elfogadja a másodfokú egyenlet együtthatóit a felhasználótól, és megjeleníti a gyökereket (mind a valós, mind a bonyolult gyökereket a diszkrimináns függvényében).

A példa megértéséhez ismernie kell a következő C ++ programozási témákat:

  • C ++ ha, ha… más, és beágyazott, ha … más

Az ax 2 + bx + c = 0 másodfokú egyenlet esetén (ahol a, b és c együtthatók) gyökereit a képlet követésével adjuk meg.

A kifejezést másodfokú egyenlet diszkriminánsaként ismerjük. A diszkrimináns elmondja a gyökerek jellegét.b2-4ac

  • Ha a diszkrimináns nagyobb, mint 0, akkor a gyökerek valósak és különbözőek.
  • Ha a diszkrimináns egyenlő 0-val, a gyökerek valósak és egyenlőek.
  • Ha a diszkrimináns értéke kisebb, mint 0, akkor a gyökerek összetettek és eltérőek.

Példa: Másodfokú egyenlet gyökerei

 #include #include using namespace std; int main() ( float a, b, c, x1, x2, discriminant, realPart, imaginaryPart; cout <> a>> b>> c; discriminant = b*b - 4*a*c; if (discriminant> 0) ( x1 = (-b + sqrt(discriminant)) / (2*a); x2 = (-b - sqrt(discriminant)) / (2*a); cout << "Roots are real and different." << endl; cout << "x1 = " << x1 << endl; cout << "x2 = " << x2 << endl; ) else if (discriminant == 0) ( cout << "Roots are real and same." << endl; x1 = -b/(2*a); cout << "x1 = x2 =" << x1 << endl; ) else ( realPart = -b/(2*a); imaginaryPart =sqrt(-discriminant)/(2*a); cout << "Roots are complex and different." << endl; cout << "x1 = " << realPart << "+" << imaginaryPart << "i" << endl; cout << "x2 = " << realPart << "-" << imaginaryPart << "i" << endl; ) return 0; )

Kimenet

Adja meg az a, b és c együtthatókat: 4 5 1 A gyökerek valósak és különbözőek. x1 = -0,25 x2 = -1

Ebben a programban a sqrt()könyvtár függvényt használják egy szám négyzetgyökének megtalálásához.

érdekes cikkek...