Das Programm quadratische Gleichung?



  • Hallo!
    Bitte helft mir,wie schreibe ich das folgende Programm:
    Für eine quadratische Gleichung der Form x² + px + q = 0 lautet die Lösungsformel x1,2 = -p/2 +- D1/2. Die Diskriminante D errechnet sich nach der Formel D = (p/2)² - q.

    Die Lösungen der quadratischen Gleichung hängen von D wie folgt ab:
    D > 0: x1 und x2 sind reell und verschieden,
    D = 0: x1 und x2 sind reell und gleich,
    D < 0: x1 und x2 sind konjugiert-komplex.

    Ich muss ein Programm schreiben, welches die Werte von p und q (Typ double) einliest und alle Lösungen, auch die konjugiert-komplexen, ausgibt. Die komplexe Zahl in der Ausgabe muss durch ein nachgestelltes »i« gekennzeichnet werden.
    Beispiel von drei verschiedenen Ausgaben:
    Dialog 1

    Bestimmen der Loesungen der Gleichung x^2 + px + q = 0
    p:

    8
    q:
    -9
    x1 = 1
    x2 = -9

    Dialog 2

    Bestimmen der Loesungen der Gleichung x^2 + px + q = 0
    p:

    4
    q:
    4
    x1/2 = -2

    Dialog 3

    Bestimmen der Loesungen der Gleichung x^2 + px + q = 0
    p:

    4
    q:
    8
    x1 = -2+2i
    x2 = -2+-2i

    Ich darf nicht 'if ....then.... else' verwenden,weil ich das noch nicht gelernt habe.Ich kann aber den Auswahloperator(Bedingungsoperator) verwenden.
    Danke!!



  • hmm hausaufgabe? hast du shcon einen lösungsansatz? wenn nein, dann überleg dir erstmal was 😉



  • ***



  • kleine stütze:

    if( test == 0)
    {
        Anweisung1;
    }
    else
    {
        Anweisung2;
    }
    

    ist das selbe wie:

    (test == 0) ? Anweisung1 : Anweisung2;
    

    vondaher ist es indirekt if/else finde ich... vielleicht liege ich da ja falsch und eurer lehrer ist nicht der meinung....

    @mastah: //ausversehen vertippt.... sorry

    ich glaube, dass er deine lösung nicht so ganz verstanden hätte... er kann ja noch nicht mal if/else... 🕶



  • off topic:hmm... dass man den auswahloperator vor if und else lernt find ich doof. obwohl man beides irgendwie ineinander umwandeln kann, so gehört if doch wohl zu den wichtigsten sachen beim programmieren überhaupt... Ehrlich gesagt: mit dem auswahloperator wird die ganze sache doch nur schwer zu lesen und kompliziert.

    on topic:erst mit cin p und q einlesen. für den rest hast du ja ne formel.
    geloescht



  • namaste schrieb:

    x1,2 = -p/2 +- D1/2.

    Nanana, welcher Kindergartenlehrer hat dir denn das beigebracht? (spruch meines alten Mathematik-Lehrers, Gruß an Hr. Ts) 🤡
    Wenn schon, dann richtig 😉
    x=p/2+D1/2oderx=p/2D1/2x = -p/2 + D^{1/2} oder x = -p/2 - D^{1/2}
    edit: ich scheiter leider immer noch an diesen latex-tags...vielleicht sollte ich besser ganz still und heimlich von hier verschwinden... 🙄



  • @ethereal: was ist an dem andere falsch? Was ist der große Unterschied, außer daß Du es ein bißchen anders hingeschrieben hast?
    Und: Welcher Kindergartenlehrer hat Dir beigebracht, daß man es nicht so wie namaste schreiben darf?



  • Jester schrieb:

    @ethereal: was ist an dem andere falsch? Was ist der große Unterschied, außer daß Du es ein bißchen anders hingeschrieben hast?

    hmmm, bei

    namaste schrieb:

    x1,2 = -p/2 +- D1/2

    lese ich spontan D*1/2 oder, ohne nachdenken, D1 / 2, was nat. keinen Sinn macht. mir ist schon klar, dass namaste wahrscheinlich D^(1/2) meint...meine smileys sollten andeuten, dass mein beitrag nicht so bierernst gemeint war und keinesfalls besserwisserisch, arrogant oder sonst wie klingen sollte. falls das trotzdem der fall war, bitte ich vielmals um entschuldigung!
    regards usw...


Anmelden zum Antworten