Kann jemand mein Programm richtig machen?



  • Hmm na da brauch ichs net machen ... thx ^^ Hmm .. solltest dann x in ne switch setzen ... und beim case dann die jeweilige Funktion aufrufen ...



  • @(D)Evil
    Ob da jetzt eine switch/case oder sonstwas machbar wäre, steht meines Erachtens im Moment nicht zur Debatte.
    Die letztendliche Frage "Und nun?" war von meiner Seite nicht ans Forum, sondern an martin95 gerichtet. Er ist jetzt am Zug ...
    Ich will Dir da jetzt sicher nicht auf die Füsse treten, aber wie man was machen kann, das erst, so zumindest meine Meinung, nach einer Info von martin95.

    Gruss, Gio



  • Dieser Thread wurde von Moderator/in estartu aus dem Forum MFC (Visual C++) in das Forum C++ verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Sieht für mich nicht nach Troll aus, sondern eher nach recht jungem Programmieranfänger (dem Namen nach 11 oder 12). Und je früher man anfängt desto besser, eigentlich.

    @Martin95: Such in deinem Buch (welches ist das überhaupt) mal nach "Funktionen" und sieh dir an wie sie funktionnieren. Alternativ kannst du auch auf einem der Onlinetutorials wie z.B www.volkard.de nachschauen (oder sie ganz durcharbeiten)

    Und ich hoffe ja mal, dass du die Flinte nicht so schnell ins Korn wirfst, Geduld brauchst du schon. wenn die Grundlagen und das "richtige" Denken erstmal sitzen gehts auch schneller, aber dafür musst du dir schon Zeit nehmen.



  • ...oder das hier



  • warum sind jetzt eigentlich alle sauer? vielleicht hab ich ja zu viel freizeit, aber wenn ich mich nunmal mit programmieren beschäftigen will...von euch haben doch sicher auch viele in jungen Jahren angefangen, ihr habt euch doch auch nicht erst mit 16/17 Jahren zum ersten mal mit Computern beschäftigt oder? Ok, vielleicht weiß ich noch nicht so viel aber ihr habts doch auch nicht von heute zu morgen gelernt. Wenn ich später mal eine Arbeit habe kann ich dann vielleicht Windows Wista 2 entwickeln. 😉

    egal, VIELEN DANK FÜR EURE HILFE, wenn Papa nachher Zeit hat, können wir das gleich reinschreiben. DANKE.



  • Man Schreibt es Windows VISTA!!!!!!!!!!!!!!!!!! 😃 😉 :p 🙄



  • martin95 schrieb:

    warum sind jetzt eigentlich alle sauer? vielleicht hab ich ja zu viel freizeit, aber wenn ich mich nunmal mit programmieren beschäftigen will...von euch haben doch sicher auch viele in jungen Jahren angefangen, ihr habt euch doch auch nicht erst mit 16/17 Jahren zum ersten mal mit Computern beschäftigt oder? Ok, vielleicht weiß ich noch nicht so viel aber ihr habts doch auch nicht von heute zu morgen gelernt. Wenn ich später mal eine Arbeit habe kann ich dann vielleicht Windows Wista 2 entwickeln. 😉

    egal, VIELEN DANK FÜR EURE HILFE, wenn Papa nachher Zeit hat, können wir das gleich reinschreiben. DANKE.

    ich bin nicht sauer, das sah nur wirklich nach nem troll aus, solche leute, die sich in nem programmier-forum anmelden und dann sachen schreiben wie "meine mami hat mir den pc angemacht und jetzt bekomm ich ihn nicht mehr aus.". aber wie gesagt, wenns nicht so ist, nicht auf dich persönlich beziehen.

    und es ist auf jeden fall nicht negativ, wenn du dich früh mit dem programmieren beschäftigst. ich hab auch mit ungefähr 13 (plus minus 1 jahr) angefangen (und bin jetzt mit 16 immernoch blutiger anfänger). nur sollte man nicht den ganzen tag nur im keller hocken und vorm pc vergammeln. 🙂

    in diesem sinne ... viel spass beim eifrigen lesen und lernen. 😉

    mfg,
    julian



  • Also, das gehört eigentlich nun gar nicht ins Forum, aber ich muss es loswerden.

    warum sind jetzt eigentlich alle sauer? vielleicht hab ich ja zu viel freizeit, aber wenn ich mich nunmal mit programmieren beschäftigen will...von euch haben doch sicher auch viele in jungen Jahren angefangen, ihr habt euch doch auch nicht erst mit 16/17 Jahren zum ersten mal mit Computern beschäftigt oder? ….

    Nun, dass es so herüberkommen mag, dass alle „sauer sind“, mag damit zusammenhängen, dass hier nicht unbedingt das Forum für die „blutigen“ Anfänger ist, die erst mal herausbekommen wollen, was C/C++ ist (und ihre allerersten Codezeilen zum Besten geben 😃 ). Ich war zum Zeitpunkt meiner Antwort eigentlich auch fast sicher, dass Du so zwischen 12 und 15 sein musst. Shinja hat mich so im nach hinein bestätigt. Die Frage nach dem „Troll“ am Ende meines Beitrages war auch gewollt provokativ.

    Und, ganz ehrlich, ich habe mit 16/17 eher Tanzveranstaltungen, Jugendzentrum und sonst was (😋) im Kopf gehabt. Aber Computer? Nöööö!

    Ich habe den ersten „richtigen“ Kontakt zu diesen Dingern erst während meines Studiums bekommen. Da habe ich dann während meines 2. Praxissemesters C-Programmieren gelernt. Das ist nun schon eine ganze Weile her ;). Nun verdiene ich mit meinen 42 immerhin schon seit 15 Jahren meine Brötchen mit „Programmieren“ (wenn ich jetzt pingelig wäre würde ich sagen "Software-Entwicklung").

    Nun noch dicker: ich habe drei Kinder (8,10,12 Jahre alt), aber ich jage die allesamt raus (so richtig ins Freie auf die Wiese!) zum Spielen, Inlinerfahren, .... aber "Programmieren" wollen die in ihrem Alter zum Glück nicht 👍. Sie spielen das ein oder andere Spiel am PC(Olchis, Löwenzahn oder ein Schachspiel) was für Dich vielleicht fremd sein mag, aber jeder hat nur 30 min, dann ist Ende 😃 .

    Für die Schule kommt immer mal was, Referat, Buchvorstellung, auch das machen sie am PC (Textverarbeitung), und Internet ist zum suchen für z.B. "Wespen" auch erlaubt, aber das war es schon. Und ich behaupte ganz frech, meine Kinder sind nicht unglücklich.

    Die allerletzte Frage, ist Dein Papa ein Programmierer (oder so was ähnliches)? 🕶

    Gruss, Gio

    PS: Geht an das "C/C++ Forum" direkt. Sollte nicht wenigstens das Geburtsjahr bei Anmeldung erforderlich sein? Das fände ich, speziell in diesem "Martin95" Fall gar nicht so schlecht.



  • Naja, das ist jetzt deine Meinung, und ich muss auch ehrlich sagen, dass iche s klasse fidne wenn man seine Kinder oft raus schickt und so weiter. Aber Programmieren lernen heißt nicht unbedingt, dass man nach der Schule sofort den PC anmacht und dann bis 8 Uhr da sitzt (oder bis wann es eben erlaubt ist) und dann schlafen geht. Wenn er am Tag 1 Stunde am PC verbringt halte ich das nicht für übertrieben und wenn man zu der Zeit eben programmiert und nicht ein PC-Spiel spielt (wobei ich sagen muss dass Löwenzahn u.ä Spiele sehr gut sind) ist das doch auch in Ordnung. Ich denke sogar dass früher Programmieren einen guten pädagogischen Effekt hat, man lernt eine neue "Denkweise" kennen. Und imho: je mehr verschiedene Denkweisen man anwenden kann, desto besser. Man lernt logischer denken, im voraus planen usw. (wobei die alten Brettspiele wie Schach, Mühle und Dame oder so da auch nicht schlecht sind!)

    Von daher, da man nicht kontrollieren kann wie lange ein Forumsmitglied täglich vor dem PC sitzt, würde ich eine Alterbeschränkung (die man durch ne kleine falsche Angabe locker umgehen kann) stimmen. Und ich denke mal einfach, dass mri da noch eine ganze Reihe Leute zustimmen würden.

    Sollte diese Diskussion weitergehen würd ichs gut finden wenn das in einem Thread wäre. Ist ja eigentlich alles OT und vielleicht hat Martin95 noch weitere Fragen zu seinem Programm.



  • Hallo, tut mir leid das ich mich lange nicht mehr gemeldet hab, aber ich war am Wochenende bei meiner Oma und da hab ich kein Internet. Und macht euch keine sorgen, ich spiele auch Fussball und fahre Fahrrad. 🙂

    @Gio: Nein ist er nicht, er wollte sowas eigentlich studieren, aber das war ihm dann zu schwer. Dann hat er aufgehört.

    Wie kann ich das denn jetzt mit dem Programm anwenden. Ich habe noch eine neue Sortierung reingemacht. Kann ich das auch so machen, das ich das Alphabet da in die Programme mache? Irgendwie hab ich keine richtige Idee wie ich die Aufrufen soll. Es sind auch noch kleine Fehler in dem Programm, aber das ist nicht so schlimm. Aber wie kann ich das machen?

    Soweit ist das jetzt erstaml:

    #include <cstdlib>
    #include <iostream>

    int main(int argc, char *argv[])
    {
    int x;
    cout<<"Herzlich Willkommen zum Projekt 'Sortierverfahren'!!!\n\nSie haben jetzt die Wahl sich \nfuer ein Sortierverfahren ihrer Wahl zu entscheiden.\n\n 1 = Bubblesort\n 2 = Quicksort\n 3 = Selection Sort\n\nIhre Eingabe bitte: \n\n";
    cin>>x;

    //Durchführung von Bubblesort:

    if (x==1)
    {
    void bubblesort(int *ptr, int n)
    {
    for (int i = 1; i <= n-1; ++i)
    for (int j = 0; j < n-i; ++j)
    if (ptr[j] > ptr[j+1])
    {
    int temp = ptr[j];
    ptr[j] = ptr[j+1];
    ptr[j+1] = temp;
    }
    }
    }

    if (x==2)
    {

    //Durchführung von Quicksort:

    void quicksort(int *array, int links, int rechts)
    {
    int pivot, temp;
    int l, r;

    if (links < rechts)
    {
    l = links; r = rechts;

    pivot = array[(links+rechts) >> 1];

    do
    {
    while (array[l] < pivot) l++;
    while (array[r] > pivot) r--;

    if (l <= r)
    {
    temp = array[r]; array[r] = array[l]; array[l] = temp;

    l++; r--;
    }
    }
    while (l <= r);

    quicksort(array, links, r);
    quicksort(array, l, rechts);
    }
    }
    }

    if (x==3)
    {

    void InsertionSort(int *ptr, int n);

    int main()
    {
    const int Nummer = 10;
    int nums[Nummer] = {a,b,c,d,e,f,g,h,i,j};
    cin>>
    int y, z;

    z = SelectionSort(nums, Nummer);

    cout << "Ihre Ausgabe:\n";
    for (y = 0; y < NUMEL; y++)
    cout << " " << nums[y];

    return 0;
    }

    int SelectionSort(int num[], int numel)
    {
    int y, z, min, minidx, grade, moves = 0;

    for ( y = 0; y < (numel - 1); y++)
    {
    min = num[y]; // Erstes Minimum
    minidx = y; // Anzeige der Elemente
    for(z = y + 1; z < numel; z++)
    {
    if (num[z] < min) // Neues Minimum!
    { // Übernehmen!
    min = num[z];
    minidx = z;
    }
    }
    if (min < num[y]) // Neues Minimum
    {
    grade = num[y];
    num[y] = min;
    num[minidx] = grade;
    moves++;
    }
    }

    return moves;
    }

    }

    system("PAUSE");
    return EXIT_SUCCESS;
    }



  • bitte, bitte, bitte, editieren und CPP-tags (unten auf "C/C++" klicken->code einfügen->nochmal auf "*C/C++" klicken). so tun die augen weh wenn man das liest und die formatierung ist auch futsch.

    mfg,
    julian



  • 1. Dein Programm kann nur eine "main" haben.
    2. cout und cin usw befinden sich im Namespace std. D.h. muss es std::cout anstelle von cout und std::cin anstelle von cin heißen.
    3. Ich hab die Sortieralgorithmenimplementierungen jetzt mal nicht überprüft. Wenn die Implementierungen allerdings korrekt sind, dann weiß ich nicht wie du die auf die Reihe bekommen hast, aber noch nicht sowas wie dekleration und definition kennst. Und sowas wie das der Compiler wenigstens die dekleration deiner Funktion haben muss, damit du sie aus einer anderen Funktion aufrufen kannst.(Also das der boublesort nat. vor main kennen muss damit du die func. darin aufrufen kannst)
    4. std::system("pause") ... gibt es nicht -.- Bzw. schon aber so macht man das nicht, wenn man es sauber haben will ...
    5. Benutz bitte einmal, wenn du hier deinen Code postest, die [ c p p ] und [ / c p p ] - Tags ... dadurch sieht dein Code direkt viel leserlicher aus 😉



  • Hi,

    Respekt wie tapfer du dich da schlägst mit deinem Alter 👍
    Ich hätte da noch einen Tipp für dich: Benutze bitte, wenn du zukünftlich Code postest, die sog. "Code - Tags". Dadurch wird die Lesbarkeit deines Codes wesentlich erhöht. Zudem sehe ich keine Einrückungen, korrigiere es das nächste mal. Ich hab den Code zumindest mal in Codetags gefasst:

    #include <cstdlib> 
    #include <iostream> 
    
    int main(int argc, char *argv[]) 
    { 
    int x; 
    cout<<"Herzlich Willkommen zum Projekt 'Sortierverfahren'!!!\n\nSie haben jetzt die Wahl sich \nfuer ein Sortierverfahren
     ihrer Wahl zu entscheiden.\n\n 1 = Bubblesort\n 2 = Quicksort\n 3 = Selection Sort\n\nIhre Eingabe bitte: \n\n"; 
    cin>>x; 
    
    //Durchführung von Bubblesort: 
    
    if (x==1) 
    { 
    void bubblesort(int *ptr, int n) 
    { 
    for (int i = 1; i <= n-1; ++i) 
    for (int j = 0; j < n-i; ++j) 
    if (ptr[j] > ptr[j+1]) 
    { 
    int temp = ptr[j]; 
    ptr[j] = ptr[j+1]; 
    ptr[j+1] = temp; 
    } 
    } 
    } 
    
    if (x==2) 
    { 
    
    //Durchführung von Quicksort: 
    
    void quicksort(int *array, int links, int rechts) 
    { 
    int pivot, temp; 
    int l, r; 
    
    if (links < rechts) 
    { 
    l = links; r = rechts; 
    
    pivot = array[(links+rechts) >> 1]; 
    
    do 
    { 
    while (array[l] < pivot) l++; 
    while (array[r] > pivot) r--; 
    
    if (l <= r) 
    { 
    temp = array[r]; array[r] = array[l]; array[l] = temp; 
    
    l++; r--; 
    } 
    } 
    while (l <= r); 
    
    quicksort(array, links, r); 
    quicksort(array, l, rechts); 
    } 
    } 
    } 
    
    if (x==3) 
    { 
    
    void InsertionSort(int *ptr, int n); 
    
    int main() 
    { 
    const int Nummer = 10; 
    int nums[Nummer] = {a,b,c,d,e,f,g,h,i,j}; 
    cin>> 
    int y, z; 
    
    z = SelectionSort(nums, Nummer); 
    
    cout << "Ihre Ausgabe:\n"; 
    for (y = 0; y < NUMEL; y++) 
    cout << " " << nums[y]; 
    
    return 0; 
    } 
    
    int SelectionSort(int num[], int numel) 
    { 
    int y, z, min, minidx, grade, moves = 0; 
    
    for ( y = 0; y < (numel - 1); y++) 
    { 
    min = num[y]; // Erstes Minimum 
    minidx = y; // Anzeige der Elemente 
    for(z = y + 1; z < numel; z++) 
    { 
    if (num[z] < min) // Neues Minimum! 
    { // Übernehmen! 
    min = num[z]; 
    minidx = z; 
    } 
    } 
    if (min < num[y]) // Neues Minimum 
    { 
    grade = num[y]; 
    num[y] = min; 
    num[minidx] = grade; 
    moves++; 
    } 
    } 
    
    return moves; 
    } 
    
    } 
    
    system("PAUSE"); 
    return EXIT_SUCCESS; 
    }
    

    So, schon viel besser 😉

    MfG mikey.

    EDIT:

    @ (D)Evil:

    5. Benutz bitte einmal, wenn du hier deinen Code postest, die [ c p p ] und [ / c p p ] - Tags ... dadurch sieht dein Code direkt viel leserlicher aus

    [ DONE ] 😉 Du warst schneller.



  • Entschuldigung, wusste ich nicht.

    #include <cstdlib> 
    #include <iostream> 
    
    int main(int argc, char *argv[]) 
    { 
    int x; 
    cout<<"Herzlich Willkommen zum Projekt 'Sortierverfahren'!!!\n\nSie haben jetzt die Wahl sich \nfuer ein Sortierverfahren ihrer Wahl zu entscheiden.\n\n 1 = Bubblesort\n 2 = Quicksort\n 3 = Selection Sort\n\nIhre Eingabe bitte: \n\n"; 
    cin>>x; 
    
    //Durchführung von Bubblesort: 
    
    if (x==1) 
    { 
    void bubblesort(int *ptr, int n) 
    { 
    for (int i = 1; i <= n-1; ++i) 
    for (int j = 0; j < n-i; ++j) 
    if (ptr[j] > ptr[j+1]) 
    { 
    int temp = ptr[j]; 
    ptr[j] = ptr[j+1]; 
    ptr[j+1] = temp; 
    } 
    } 
    } 
    
    if (x==2) 
    { 
    
    //Durchführung von Quicksort: 
    
    void quicksort(int *array, int links, int rechts) 
    { 
    int pivot, temp; 
    int l, r; 
    
    if (links < rechts) 
    { 
    l = links; r = rechts; 
    
    pivot = array[(links+rechts) >> 1]; 
    
    do 
    { 
    while (array[l] < pivot) l++; 
    while (array[r] > pivot) r--; 
    
    if (l <= r) 
    { 
    temp = array[r]; array[r] = array[l]; array[l] = temp; 
    
    l++; r--; 
    } 
    } 
    while (l <= r); 
    
    quicksort(array, links, r); 
    quicksort(array, l, rechts); 
    } 
    } 
    } 
    
    if (x==3) 
    { 
    
    void InsertionSort(int *ptr, int n); 
    
    int main() 
    { 
    const int Nummer = 10; 
    int nums[Nummer] = {a,b,c,d,e,f,g,h,i,j}; 
    cin>> 
    int y, z; 
    
    z = SelectionSort(nums, Nummer); 
    
    cout << "Ihre Ausgabe:\n"; 
    for (y = 0; y < NUMEL; y++) 
    cout << " " << nums[y]; 
    
    return 0; 
    } 
    
    int SelectionSort(int num[], int numel) 
    { 
    int y, z, min, minidx, grade, moves = 0; 
    
    for ( y = 0; y < (numel - 1); y++) 
    { 
    min = num[y]; // Erstes Minimum 
    minidx = y; // Anzeige der Elemente 
    for(z = y + 1; z < numel; z++) 
    { 
    if (num[z] < min) // Neues Minimum! 
    { // Übernehmen! 
    min = num[z]; 
    minidx = z; 
    } 
    } 
    if (min < num[y]) // Neues Minimum 
    { 
    grade = num[y]; 
    num[y] = min; 
    num[minidx] = grade; 
    moves++; 
    } 
    } 
    
    return moves; 
    } 
    
    } 
    
    system("PAUSE"); 
    return EXIT_SUCCESS; 
    }
    


  • OMG 😮
    Erstens ist jetzt die ganze Seite total breit, und zweitens habe ich den Code schon gepostet.

    Aber kein Problem, das lernt mal jeder. ...

    [EDIT] Troll ? *grübel*
    [EDIT] Was bist du um die Zeit noch wach ?! 💡 ➡ Trollverdacht.



  • Warum ich noch wach bin? Ich gucke grade Lost, hab bisher fast keine Folge verpasst. Meine Eltern schlafen schon.



  • Mhh...

    Welche Eltern lassen 12 jaehrige Kinder jetzt noch wach?

    Meine Eltern haetten mich damals ins Bett gejagt 😃 .

    Naja, wiedem auch sei .. wenn du wirklich erst 12(?) bist, dann
    muss ich sagen, dass ich das echt suess finde 🙂 .

    Wenn nicht dann finde ich es eine ziehmliche Unverschaemtheit,
    es gibt Menschen die haben auch besseres zu tun als sich Ellenlangen,
    unformatierten Code anzugucken 🙄 .



  • Du solltest dir wirklich mal eines der Online Tutorials ansehen, wie ich es gesagt hab (wie eben www.volkard.de o.ae.)

    Ansonsten:

    #include <iostream>
    using namespace std; //verwende das hier erstmal, dann musst du vor cout, cin usw. kein std:: schreiben
    
    //Ich gehe davon aus, dass du die Algorithmen einfach kopiert hast. Ich kopier sie also auch einfach mal, sehe mir jetzt nicht durch ob die so funktionnieren
    
    //Alle Funktionen, wie man das nennt, VOR die main() Muss nicht immer so sein, aber mach es fuer den Anfang mal so
    void bubblesort(int *ptr, int n) 
    { 
    for (int i = 1; i <= n-1; ++i) 
        for (int j = 0; j < n-i; ++j) 
            if (ptr[j] > ptr[j+1]) 
            { 
                int temp = ptr[j]; 
                ptr[j] = ptr[j+1]; 
                ptr[j+1] = temp; 
            } 
    }
    
    void quicksort(int *array, int links, int rechts) 
    { 
        int pivot, temp; 
        int l, r; 
    
        if (links < rechts) 
        { 
            l = links; r = rechts; 
            pivot = array[(links+rechts) >> 1]; 
    
            do 
            { 
                while (array[l] < pivot) l++; 
                while (array[r] > pivot) r--; 
    
                if (l <= r) 
                { 
                    temp = array[r]; array[r] = array[l]; array[l] = temp; 
                    l++; r--; 
                } 
            } while (l <= r); 
    
            quicksort(array, links, r); 
            quicksort(array, l, rechts); 
        } 
    } 
    
    // ich nehme jetzt nur mal die beiden, die andern beiden auch einfach hierhin stellen
    
    int main()  //die beiden parameter brauchen wir hier erstmal nicht. main() darf es im programm nur 1x geben!
    {
        cout<<"Druecken sie 1 fuer bubblesort oder 2 fuer Quicksort: "
        int auswahl;
        cin>>auswahl;
        int zahlen[10]={67,4,1,8,3,4,9,10,45,-3}; //Das hier ist einfach ein Array aus 10 Zahlen, da das Programm nur als Beispiel dienen soll
        if(auswahl==1) 
            bubblesort(zahlen,10); //Hier rufe ich nun die Funtkion bubblesort, die wir oben definiert haben, auf und gebe ihr die entsprechenden parameter.
        else if(auswahl==2)
            quicksort(zahlen,0,9); //Wieder ein funktionsaufruf, diesmal von der oben definierten Funktion quicksort.
        else
            cout<<"Ungueltige Eingabe!";
        cin.get()
        return 0;
    }
    

    So, das sollte jetzt so funktionnieren, wenn ich mich nirgendwo geirrt habe (kann natuerlich gut sein). Lies dir bitte die kommentare kurz durch.

    Und nochmal zur Erklaerung: bubblsort und quicksort sind Funtkionen. Diese "definieren" wir, das heisst wir sagen ihnen, was sie machen sollen, vor der main(). Die main() ist der Haupttteil deines Programmes, dort "startet" das Programm sozusagen. In der main rufen wir dann die Funtkionen bubblesort und quicksort auf.
    Fuer genaueres zu Funktionen solltest du entweder dein Buch aufschlagen oder wie ich jetzt schon 2x sagte, dir ein Online-Tutorial zu C++ (=eine Inetrnetseite auf der ein kurs fuer C++ steht) ansehen.



  • Hallo ich bin wieder da! Ich war im Ski-Lager, konnte aber kein Ski fahren, weil kein Schnee lag. Das war ziemlich doof, aber ansonsten war es cool. Ich hab mir auch das Tutorial angeschaut, aber das hat mir nicht so richtig geholfen. Ich glaube ich fange lieber mit ein paar kleinen Programmen an. Ich will das nur noch fertig machen, weil es doof wäre alles jetzt einfach liegen zu lassen. Ich hab das jetzt mal verändert. So hab ich es mir ungefähr vorgestellt:

    #include <iostream> 
    using namespace std; 
    
    void bubblesort(int *ptr, int n) 
    { 
    for (int i = 1; i <= n-1; ++i) 
        for (int j = 0; j < n-i; ++j) 
            if (ptr[j] > ptr[j+1]) 
            { 
                int temp = ptr[j]; 
                ptr[j] = ptr[j+1]; 
                ptr[j+1] = temp; 
            } 
    } 
    
    void quicksort(int *array, int links, int rechts) 
    { 
        int pivot, temp; 
        int l, r; 
    
        if (links < rechts) 
        { 
            l = links; r = rechts; 
            pivot = array[(links+rechts) >> 1]; 
    
            do 
            { 
                while (array[l] < pivot) l++; 
                while (array[r] > pivot) r--; 
    
                if (l <= r) 
                { 
                    temp = array[r]; array[r] = array[l]; array[l] = temp; 
                    l++; r--; 
                } 
            } while (l <= r); 
    
            quicksort(array, links, r); 
            quicksort(array, l, rechts); 
        } 
    } 
    
    void SelectionSort(int num, int numel) 
         { 
          int y, z, min, minidx, grade, moves = 0; 
    
          for ( y = 0; y < (numel - 1); y++) 
          { 
           min = num[y]; 
    
           minidx = y; 
    
           for(z = y + 1; z < numel; z++) 
           { 
            if (num[z] < min) 
    
            { 
    
             min = num[z]; 
             minidx = z; 
             } 
           } 
         if (min < num[y]) 
    
         { 
        grade = num[y]; 
        num[y] = min; 
        num[minidx] = grade; 
        moves++; 
       } 
      } 
    
      return moves; 
     } 
    }
    
    int main()   
    { 
        cout<<"Herrzlich Willkommen zum Programm 'Sortierverfahren'!\n\nSie haben nun die Auswahl zischen den Verfahren\n 1 = Bubblesort\n 2 = Quicksort\n 3 = Selection Sort\n\nBitte wählen sie nun das Programm ihrer Wahl, durch die Eingabe der entsprechenden Zahl!\n\nIhre Eingabe: " 
        int auswahl,x,y; 
        cin>>auswahl;
        cout<<"Wie lang ist das zu bearbeitende Wort?\n\nIhre Eingabe: ";
        cin>>x;
        cout<<x; 
        cout<<"Bitte die zu bearbeitenden Elemente eingeben!\n\nIhre Eingabe: ";
        cin>>y;
        cout<<y;
        int Zahlen[x]={y}; 
    
        cout<<"Wie lang ist das zu bearbeitende Wort?\n\nIhre Eingabe: ";
        cin>>x;
        cout<<x;
        if(auswahl==1) 
            bubblesort(zahlen,x); 
    
        else if(auswahl==2) 
            quicksort(zahlen,x); 
    
        else if (auswahl==2)
           selectionsort (zahlen,x); 
    
        else 
            cout<<"Ungueltige Eingabe!"; 
        cin.get() 
        return 0; 
    }
    

    Ich möchte mich bei allen für ihre bisherige Hilfe bedanken. 🙂


Anmelden zum Antworten