Zahlen eingeben und sortieren lassen?



  • Hi,

    wir sollen ein Programm in C++ schreiben, in welchem 3 Zahlen von uns eingegeben werden, die dann vom Programm sortiert von der kleinsten zur höchsten wieder ausgegeben werden.

    Habe leider absolut keine Ahnung wie das gehen soll, könntet ihr mir vielleicht helfen.

    MfG Thomas



  • MellerLE schrieb:

    Hi,

    wir sollen ein Programm in C++ schreiben,

    Wir? Ich? Ihr!

    MellerLE schrieb:

    in welchem 3 Zahlen von uns eingegeben werden, die dann vom Programm sortiert von der kleinsten zur höchsten wieder ausgegeben werden.
    Habe leider absolut keine Ahnung wie das gehen soll, könntet ihr mir vielleicht helfen.

    Hallo Thomas.

    Natürlich können wir helfen, aber wir können Deinen Hausaufgabe nicht erledigen.
    Deine Frage ist so allgemein gestellt, dass sie eigentlich nur mit einem fertigen Programm sinnvoll beantwortet werden könnte.
    Da ihr allerdings das Programm schreiben wollt, bemüht euch schöpferisch tätig zu werden und wenn es hakt eine präzise Frage zu stellen.

    Bisher kann meine Antwort nur lauten:
    C Compiler nehmen, Programm eingeben, kompilieren und testen.

    Den Einstieg ins Programmieren wird euch euer Lehrer soweit vermittelt haben, dass ihr zumindest konkrete Fragen oder euren aktuellen Sourcecode posten könnt.

    Viel Erfolg!



  • jetzt schreibst mal dein progamm, und wenn dann die sortierung nich hinbekommst, dann helfen wir:´)



  • [cpp]
    #include<iostream.h>
    #include<conio.h>

    using namespace std;

    double Sortieren (double d)
    double a, b, c;

    int main ()
    cout<<"Erste Zahl eingeben:"<<endl;
    cin>>a;
    cout<<"Erste Zahl eingeben:"<<endl;
    cin>>b;
    cout<<"Erste Zahl eingeben:"<<endl;
    cin>>c;

    ......... <- Befehl zum sortieren

    cout<<""<<Sortieren (d)<<endl;
    cin>>"";
    return (0);
    }

    ?



  • schon mal was von Array gehört??

    statt:

    double a,b,c;

    machst:

    double Array[3];

    hier kannst jetzt 3 Zahlen reinschreiben, wobei die erste zahl index 0 hat und die letze 2:

    Bsp:
    Array[0]=a;

    jetzt schreibst mla dein programm so um das es mit array funktioniert, oder sollt ihr das ohne array machen?



  • Noch nie was von Array gehört, war auch nicht vorgegeben bzw verboten wurden.
    Ich probiers mal.

    Aber hab ich das richtig verstanden, dass die Zahlen mit Array festgelegt sind? Und ich die nicht selbst eingeben kann?



  • ne, mit:

    double Array[3];
    

    definierst du ein array , ind dem 3 zahlen vom typ double gespeichert werden können!!

    wie schon erwähnt , starte der index von 0, d.h. 0 erste zahl, 1 zweite zahl etc.

    statt

    cin>>a;

    schreibst :

    cin>> Array[0];

    verstanden??



  • Meller schrieb:

    Noch nie was von Array gehört, war auch nicht vorgegeben bzw verboten wurden.
    Ich probiers mal.

    Aber hab ich das richtig verstanden, dass die Zahlen mit Array festgelegt sind? Und ich die nicht selbst eingeben kann?

    Frage zu meinem Verständnis:
    Geht es um exakt drei Zahlen oder könnten es auch vier sein?
    Wenn es exakt drei Zahlen sind, kannst Du ein Array nutzen, aber das scheint mir dann nicht verlangt zu sein.

    Frage zu Deinem Verständnis:
    Wie findest Du heraus, ob eine Zahl größer ist als eine andere?
    Wie rufst Du die Funktion auf?

    Antwort zu meinem Verständnis:
    Dein geposteter Code hat nie einem Compiler gesehen.
    Schick uns etwas, was bereits einen Compiler gesehen hat und konkrete Fragen, wenn Du dabei nicht weiterkommst.
    Bei Deinem Code hätte der Compiler genug Antworten parat, die Du zuerst beachten solltest, bevor Du hier eine Frage stellst.



  • #include<iostream.h>
    #include<conio.h>
    
    using namespace std;
    
    double Sortieren (double d)
    double Array[3];
    
    int main ()
    cout<<"Erste Zahl eingeben:"<<endl;
    cin>>Array[0];
    cout<<"Erste Zahl eingeben:"<<endl;
    cin>>Array[1];
    cout<<"Erste Zahl eingeben:"<<endl;
    cin>>Array[2];
    
    /......... <- Befehl zum sortieren
    
    cout<<""<<Sortieren (d)<<endl;
    cin>>"";
    return (0);
    }
    

    Das

    double d
    

    dann so lassen oder muss ich das auch mit Array schreiben?



  • musst du eine funktion schreiben??

    hast du schonmal was von schleifen gehört??

    was hast bisher gelernt??



  • Habe kein C++, schreibe das nur so im Editor, weiß also auch nicht ob das funktioniert.

    Könnten bestimmt auch 4, 5 oder mehr Zahlen sein, denke mal es geht halt nur darum, dass die Zahlen vom Programm sortiert werden.

    Bestimmt irgendwas mit "if Array[1]<Array[0]" oder so oder?



  • hmm für was musst das machen??

    SChau mal bei google unter "c++" und "bubblesort"

    da gibts beispiele kannst abschaun und kucken ob das verstehst



  • Meller schrieb:

    Habe kein C++, schreibe das nur so im Editor, weiß also auch nicht ob das funktioniert.

    Dann solltest Du Dir erst einen Compiler besorgen, sonst macht das ganze keinen Sinn.
    http://codeblocks.org

    Meller schrieb:

    Bestimmt irgendwas mit "if Array[1]<Array[0]" oder so oder?

    Bestimmt... ^^

    Wir können Dir helfen, etwas zu verstehen, aber die Grundlagen lernst Du in der Schule... oder auch nicht.
    Im zweiten Falle schau nochmal in Deine Unterlagen oder miete Dir einen Privatlehrer, den das Forum ist ein Forum und kein Sammelsurium für Privatlehrer.
    Nach eingegangener Überweisung bin ich gerne per ICQ verfügbar und programmiere das gerne mit Dir online und bereite gerne ein perfekt auf Dich ausgelegtes Tutorial vor.
    Ansonsten solltest Du vielleicht ein Buch oder eines von vielen Online-Tutorials ansehen und Dir die Grundlagen aneignen, die notwendig sind, um Dich in C auszudrücken.

    ...oder so. 😉



  • Wenn du die STL nutzen darfst, die hat (etwa) ein halbes Dutzend Funktionen, mit denen man eine Folge von Objekten sortieren kann (alles, was die brauchen ist eine Vergleichsmöglichkeit - und die hat double natürlich ;)).

    Und wenn es darum geht, beliebig viele Zahlen zu sortieren, nimm lieber die STL-Container als ein Array.



  • Hier schau mal. Dort findest du sogar den Code...

    http://de.wikipedia.org/wiki/QuickSort
    http://de.wikipedia.org/wiki/Bubblesort



  • CStoll schrieb:

    Wenn du die STL nutzen darfst, die hat (etwa) ein halbes Dutzend Funktionen, mit denen man eine Folge von Objekten sortieren kann (alles, was die brauchen ist eine Vergleichsmöglichkeit - und die hat double natürlich ;)).

    Und wenn es darum geht, beliebig viele Zahlen zu sortieren, nimm lieber die STL-Container als ein Array.

    Was mich immer wieder begeistert ist, wie man jemanden mit STL kommt, für die man wenigstens annähernd wissen sollte, was Templates sind, wenn derjenige erst noch lernen muss wie man eine if-Abfrage zusammensetzt. Deine Antwort mag korrekt sein, aber mit dem Problem hat sie nicht wirklich was zu tun.

    STL ist gut. Aber zuviel für den Anfänger und erst recht für Leute, die mal Anfänger werden wollen. STL ist für Leute, die wenigstens halbwegs wissen was sie tun.

    Wenns richtig gut wird, baut er 'nen Bubblesort.
    Die Aufgabe erscheint mir eher eine Funktion zu schreiben, die irgendwie drei Zahlen miteinander vergleicht. Etwas zu schreiben, dass den Namen Algorithmus wirklich verdient, scheint mir hier gar nicht gefragt zu sein.
    Drei if-Abfragen, fertig.



  • Also, ich denke, so wie ich deinen kentnisstand einschätze, dass ihr tatsächlich nur 3 Zahlen sortieren müsst. Meiner Meinung nach sollt ihr dazu so einlesen, wie du es am Anfang getan hast, also ohne array.

    So, jetzt kurz zum sortieren:
    Hinweis 1: zum sortieren muss man Zahlen vertauschen. Überleg dir mal wie du es machen würdest.
    Hinweis 2: nimm dir 3 Papierschnipsel, schreib Zahlen drauf, leg sie ungeordnet hin und schau wie du sie sortierst. Was ist die Bedingung dafür, dass du 2 Zahlen vertauschen würdest.

    An alle anderen: ich persönlich denke, das hier ist eine Aufgabenstellung die sehr einfach sein soll, recht am Anfang des Lernprozesses beim Vorstellen der einzelnen C++ Befehle. Für dieses Programm ist neben dem Zuweisen und Einlesen nur 1 Befehl nötig. Keine arrays, Bubblesorts oder ähnliches.

    Soltle ich mich irren tut es mir leid. War nur so mein Eindurck.


Log in to reply