Fatlind Geschrieben 10. Dezember 2009 Teilen Geschrieben 10. Dezember 2009 Hallo alle, ich bin noch ein richtiger Anfänger im Programmieren und lerne noch. Ich habe jetzt ein Problem und komme durch suchen und suchen nicht auf die Lösung. Hier ist mein Quellcode: for ( i=0; i<n; i++) //n ist vordefiniert als 5 { for( j=0;j<n-1; j++) { if(var[i] < var[i+1]) { swp = var[i+1]; var[i+1] = var[i]; var[i] = swp; } } } Meine Frage ist nun, wie gebe ich den sortierten Bubblesort aus, also an welcher Stelle:)? Danke im Vorraus, Fatlind Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pointerman Geschrieben 10. Dezember 2009 Teilen Geschrieben 10. Dezember 2009 Moin! Ich moechte Deine Frage mit einer Gegenfrage beantworten, die Dich hoffentlich auf den richtigen Weg bringt: Wo ist denn Dein Array var fertig sortiert? An dieser stelle wuerde ich dann die sortierten Elemente ausgeben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 10. Dezember 2009 Teilen Geschrieben 10. Dezember 2009 Wenn ich das richtig sehen, ist zusätzlich die Sortierung noch etwas krumm. Ein einfacher Test. Gegeben sind die Zahlen 5 1 3 4 2. Daraus wird dann sortiert: 5 1 3 4 2 1 5 3 4 2 1 3 5 4 2 1 3 4 5 2 1 3 4 2 5 Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pointerman Geschrieben 10. Dezember 2009 Teilen Geschrieben 10. Dezember 2009 Da hat Frank natürlich völlig recht! Den Code habe ich mir gar nicht so genau angeschaut, wie ich zu meiner Schande gestehen muss.:old Aber jetzt habe ich mal einen Blick drauf geworfen un drate Dir, Deine Indizes anzuschauen. Sowohl bei der inneren Schleife, als auch bei der Obergrenze der inneren Schleife. Da sieht man aber auch mal wieder, dass eine sprechende Variablenbenennung helfen kann Fehler schneller zu entdecken, bzw erst garnicht zu begehen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
cppAmdMe Geschrieben 12. Dezember 2009 Teilen Geschrieben 12. Dezember 2009 Machen wir's kurz: Ich würde es wie unten machen (Indizes wechseln und an zwei Stellen optimieren), wenn's schon Bubble-Sort sein muss. bool sortiert=false; for ( i=0; i<n && !sortiert; i++) //n ist vordefiniert als 5 { sortiert=true; for( j=0;j<n-1-i; j++) //-i, damit sortierte Elemente nicht neu vergleichen werden { if(var[j] < var[j+1]) { swp = var[j+1]; var[j+1] = var[j]; var[j] = swp; sortiert=false; } } } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.