Program w C ++ do znajdowania wszystkich pierwiastków równania kwadratowego

Program ten przyjmuje współczynniki równania kwadratowego od użytkownika i wyświetla pierwiastki (zarówno rzeczywiste, jak i zespolone w zależności od dyskryminatora).

Aby zrozumieć ten przykład, powinieneś znać następujące tematy programowania w języku C ++:

  • C ++ if, if… else i Nested if… else

W przypadku równania kwadratowego ax 2 + bx + c = 0 (gdzie a, b i c są współczynnikami), jego pierwiastki podaje się według wzoru.

Termin jest znany jako dyskryminator równania kwadratowego. Osoba dyskryminująca mówi o naturze korzeni.b2-4ac

  • Jeśli dyskryminacja jest większa niż 0, pierwiastki są rzeczywiste i różne.
  • Jeśli dyskryminator jest równy 0, pierwiastki są rzeczywiste i równe.
  • Jeśli dyskryminator jest mniejszy niż 0, pierwiastki są złożone i różne.

Przykład: pierwiastki równania kwadratowego

 #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; )

Wynik

Wprowadź współczynniki a, b i c: 4 5 1 Korzenie są rzeczywiste i różne. x1 = -0,25 x2 = -1

W tym programie sqrt()funkcja biblioteki służy do znajdowania pierwiastka kwadratowego z liczby.

Interesujące artykuły...