Hilfe bei Zahlensortierung!



  • Hi!

    Ich komme nicht mehr weiter. Aufgabe aus einem Buch:

    Geben Sie drei Zahlen ein, diese sollen in numerischer Reihenfolge sortiert werden. Zum Beispiel: Eingabe: 4 8 1 Ausgabe: 1 4 8.

    Mein Code:

    #include "../../../std_lib_facilities.h"

    int main()
    {
    cout<<"Geben Sie bitte drei ganze Zahlen getrennt durch Leerzeichen ein und betaetigen sie ENTER:\n";

    int Zahl1;
    int Zahl2;
    int Zahl3;

    cin>>Zahl1>>Zahl2>>Zahl3;

    if((Zahl1>Zahl2&&Zahl3))
    {

    if(Zahl2>3)
    cout<<Zahl3<<" "<<Zahl2<<" "<<Zahl1<<"\n";

    else if(Zahl2<3)
    cout<<Zahl2<<" "<<Zahl3<<" "<<Zahl1<<"\n";
    }

    if((Zahl2>Zahl1&&Zahl3))
    {

    if(Zahl1>3)
    cout<<Zahl3<<" "<<Zahl1<<" "<<Zahl2<<"\n";

    else if(Zahl1<3)
    cout<<Zahl1<<" "<<Zahl3<<" "<<Zahl2<<"\n";
    }

    if((Zahl3>Zahl1&&Zahl2))
    {

    if(Zahl1>2)
    cout<<Zahl2<<" "<<Zahl1<<" "<<Zahl3<<"\n";

    else if(Zahl1<2)
    cout<<Zahl1<<" "<<Zahl2<<" "<<Zahl3<<"\n";
    }

    keep_window_open();
    }

    Wisst ihr, wie man das löst? Mir werden nicht immer die Zahlen richtig sortiert ausgegeben, oder es werden in einem Schlag mehrere if-Anweisungen bestätigt, wodurch mehrere Ausgaben zustande kommen.



  • WTF 🙄



  • crispin kenton schrieb:

    WTF 🙄

    Habs!

    Thread kann gelöscht werden. 😃



  • Poste doch bitte deine Lösung, möglicherweise gibt´s andere Leute die ein ähnliches Problem haben. Die wüssten wahrscheinlich gern, wie´s geht.



  • Mal abgesehen davon, dass es sehr umständlich geschriebener und unpflegbarer Code ist, macht das hier:

    if((Zahl1>Zahl2&&Zahl3)
    
    if(Zahl2>3)
    

    keinen wirklichen Sinn zum Lösen der Aufgabe.

    Man könnte die Zahlen in ein Array (Vector, ...) einlesen und eine Sortierfunktion benutzen.


Anmelden zum Antworten