Bevezetés
Üdv, ebben a bemutatóban a másodfokú egyenletek megoldásával szeretnék foglalkozni.
Áttekintés
A másodfokú egyenletek megoldóképlete:
Továbbá megjegyzendő: - Ha a diszkrimináns > 0 akkor két megoldásunk lesz. - Ha a diszkrimináns = 0 akkor egy megoldásunk lesz. - Ha a diszkrimináns < 0 akkor NINCS megoldásunk.
Program elkészítése
Nem fogok mindent részletezni, viszont próbálok választ adni a komment szekcióban.
Kód: #include <iostream> #include <cmath>
//függvénykönyvtárak létrehozása
using namespace std;
int main() {
float a, b, c, x1, x2, diszkriminans; //változók létrehozása, float tipusú, mert nem feltétlen egész számokat fogunk használni. cout << "Add meg az a; b; es c; erteket!"; cin >> a >> b >> c; //bekérjük az a, b és a c értéket. diszkriminans = b*b - 4*a*c; //meghatározzuk a diszkriminánst, amit mindenki jól tud, hogy a gyökvonás alatti rész.
if (diszkriminans > 0) { //Ha a diszkrimináns nagyobb mint nulla, akkor két megoldásunk lesz. x1 = (-b + sqrt(diszkriminans)) / (2*a); //itt a két megoldást fogjuk részletezni, ahol használunk is egy új függvényt, mégpedig a sqrt-t. x2 = (-b - sqrt(diszkriminans)) / (2*a); //Ez a függvény annyit tesz, hogy négyzetgyököt von, majd elosztjuk 2xa-val mint azt a képletben is láthattuk! cout << "x1 = " << x1 << endl; //majd kiiratjuk. cout << "x2 = " << x2 << endl; }
else if (diszkriminans == 0) { // ha a diszkrimináns nulla, akkor egy. cout << "Egy megoldas volt, mert a diszkriminans 0!" << endl; x1 = (-b + sqrt(diszkriminans)) / (2*a); cout << "x1 = x2 =" << x1 << endl; }
else { // ha egyik sem -> mínusz -> akkor nincs megoldásunk. cout << "Az egyenletnek nincs megoldasa, mert a diszkriminans -!" << endl; }
return 0; }
Köszönöm a figyelmet!
|