Quadratische Gleichungen



  • Hey ich habe vor kurzem mit c++ Angefangen. Da mir langweilig ist, habe ich ein Programm geschrieben, das eine quadratische Gleichung löst.

    #include <iostream>
    #include <math.h>
    using namespace std;
    
    float a,b,c,d,x1,x2 ;    
    
    int main()
       {
       a = 8 ;
       b = 16 ;
       c = 64 ;
    
       d = sqrt( b*b - 4*a*c ) ;
    
       x1 = ( -b + d )/(2*a) ;
       x2 = ( -b - d )/(2*a) ;
       cout << "1.Loesung " << x1 << endl;
       cout << "2.Loesung " << x2 << endl;
       }
    

    Wie kann ich nun mit einer Schleife heruasfinden, ob das Ergebniss sureal wird oder nicht ? Denn momentan gibt mir Visual c++ -1.#IND als ergebniss aus.(Ist auch logisch bei den Werten^^). Jedoch möchte ich, dass eine sourealle Zahl -in diesem Fall- so geschrieben wird:
    -1 - 2,6457513110645907·i
    -1 + 2,6457513110645907·î



  • Indem du bestimmst, ob die Diskriminante negativ ist.



  • Überprüfe, ob beim "wurzeln" was negatives in der Klammer steht, und mach es positiv (z.b mit fabs() aus cmath) und setzte eine Variable vom Typ bool.
    Berechne alles wie sonst auch, aber am Schluss gibst du dann entsprechend anders aus, wenn die bool Variable == true ist.



  • was zum teufel ist ne surreale zahl?
    (ok habs gegoogelt)
    und wieso weiss jeder ausser mir was das ist?

    meinst du nicht komplexe zahlen?



  • C++ unterstützt auch komplexe Zahlen: http://www.cplusplus.com/reference/std/complex/

    Um herauszufinden, ob die Zahl komplex ist, einfach prüfen ob imag 0 ist.


Anmelden zum Antworten