3 Zahlen nach Größe sortiert ausgeben - ARRAY



  • Erstmal zu meiner Person, ich bin angehender Maschinenbautechniker und habe seit 06.01. 2014 in Informaik mit C++ zutun. Also ein kompletter Anfänger.

    Und eins noch vorne weg, natürlich habe ich vorher in etlichen Foren gesucht und auch Beispiele für mein Problem gefunden. Aber leider waren immer irgendwelche Befehle dabei die ich vorher noch nicht im Unterricht hatte. Daher muss es also noch einen anderen Weg geben.

    Die Aufgabenstellung lautet:
    Erstellen Sie ein Programm (Sortieren.cpp), das ermöglicht 3 ganze Zahlen einzugeben und diese nach der Grösse sortiert auszugeben. Die drei Zahlen sollen in einem Array gespeichert werden!

    Die 3 Zahlen einzugeben ist kein Problem, das Problem ist das Sortieren der Zahlen. Mein Lehrer meinte das Sortieren nimmt nur 2 Zeilen in Anspruch, versucht mal euer Glück.

    Mein Lösungsansatz:

    // SmallCpp 2012, all rights reserved
    #include <iostream>
    using namespace std;
    int main()
    {
    int i[3];

    for (int zahl=0; zahl < 3; zahl++)
    {
    cout<<"Geben Sie bitte den Wert fuer Zahl " <<zahl+1<< " ein: ";
    cin>> i[zahl];
    }

    getchar();
    return 0;
    }

    Wie bekomme ich es aber nun hin die Zahlen zu sortieren? Habe wie gesagt schon in einigen Foren gelesen, aber da kamen Begriffe wie scanf und printf oder bubblesort. Diese Begriffe habe ich aber noch nicht im Unterricht gehabt und denke daher das der Lehrer eine andere Lösung haben will.

    Wäre froh wenn mir einer helfen könnte.



  • Hallo,

    zuersteinmal bist du hier im falschen Unterforum - ein Mod wird diesen Beitrag dann nach "C++" verschieben. 😉

    Zum Sortieren von 3 Zahlen, brauchst du nur jeweils zwei Zahlen des Arrays vergleichen und evtl. tauschen (swap) - m.E. brauchst du aber 3 Abfragen dafür.

    Kannst auch mal Sortieren Sie 3 Zahlen ohne Verwendung von logischen Operatoren lesen.

    P.S: Es gibt noch die Funktion std::sort(), aber ich denke mal, daß ihr die nicht benutzen sollt...


Log in to reply