Sortieren Array
-
Ich will 5 werte sortieren ( versuche zu sortieren ) .
Eingeben tu ich ja 5 werte .
Ich hab noch ein wenig an meinem code gearbeitet und das stehen.
Für tipps wäre ich dankbar.
#include <iostream> #include <cstdlib> using namespace std; int main() { int n; int zahl[5]; cout<<" Anzahl der einzulesenden Elemente "; cin>>n; if ( n>5 )//Plausibilitaetskontrolle { cout << "Es sind nicht mehr elemente verfügbar" << endl; } cout<<" Elemente eingeben "; for (int i=0;i<n;i++)//Eingabe der Arrayelemente cin>>zahl[i]; int swapUmkehrer = -1; int end = 5; int length = 5; for(int counter = length-1; counter > 0; counter--){ for(int index = 0; index< end ; index ++) { if(zahl[index] > zahl[index+1]) { swapUmkehrer = zahl[index+1]; zahl[index+1] = zahl[index]; zahl[index] = swapUmkehrer; } } end--; } for(int index = 0;index< 5 ; index ++) { cout << zahl[index] << " Bye " << endl; } } return 0; }
-
Wozu stellst du überhaupt Fragen, wenn du weder über die Antworten nachdenkst, noch die Hinweise befolgst, die man dir gibt? Denkst du, irgendjemand wird dir einfach so aus Langeweile deine Hausaufgaben machen, wenn du nur oft genug fragst?

-
Das sind keine HA .
Die musterlösung habe ich schon .
Ich versuche nur selber darauf zu kommen.
-
#include <iostream> #include <cstdlib> using namespace std; int main() { int n; int zahl[5]; cout << " Anzahl der einzulesenden Elemente "; cin >> n; if ( n>5 )//Plausibilitaetskontrolle { cout << "Es sind nicht mehr elemente verfügbar" << endl; } cout << " Elemente eingeben "; for (int i = 0; i < n; i++)//Eingabe der Arrayelemente cin >> zahl[i]; int swapUmkehrer = -1; int end = 5; int length = 5; for(int counter = length-1; counter > 0; counter--) { for(int index = 0; index < end ; index ++) { if(zahl[index] > zahl[index+1]) { swapUmkehrer = zahl[index+1]; zahl[index+1] = zahl[index]; zahl[index] = swapUmkehrer; } } end--; } for(int index = 0; index < 5; index ++) { cout << zahl[index] << " Bye " << endl; } return 0; }Ich habs mal in schön formatiert, aber mehr ist mir grad zu mühselig.....
-
Ich habe nochmal ein wenig meinen code geändert , aber ich verstehe nicht warum ich zwar arrays einlesen kann , aber es trotzdem nicht denn Array sortiert ausgibt ?
#include <iostream> #include <cstdlib> using namespace std; int main() { int n; int zahl[5]; cout<<" Anzahl der einzulesenden Elemente "; cin>>n; if ( n>5 )//Plausibilitaetskontrolle { cout << "Es sind nicht mehr elemente verfügbar" << endl; } cout<<" Elemente eingeben "; for (int i=0;i<n;i++){//Eingabe der Arrayelemente cin>>zahl[i]; for(int i = 0; i< 5 ; ++i) { if(zahl[i] > zahl[i+1]) { int swap = zahl[i+1]; zahl[i+1] = zahl[i]; zahl[i] = swap; } } cout << "sortiert" << endl; for(int i = 0;i< 5 ; ++i) { cout << zahl[i] << " Bye " << endl; } } return 0; }Ist denn mein code falsch?
Könnt ihr mir wenigstens einen tipp geben wo der Fehler liegt?
-
Hallo21 schrieb:
Könnt ihr mir wenigstens einen tipp geben wo der Fehler liegt?
Wie kommst du darauf, dass es nur einer ist?
Rück deinen Code mal ordentlich ein, dann siehst du es.
-
Hallo !
Vieleicht hilft das hier: http://www-ti.informatik.tu-cottbus.de/Studium/06ZgEinfProg/Skript/P11.pdf
-
Aber könnt ihr mir nicht trotzdem sagen ,was in meinem code nicht stimmt?
-
Hallo21 schrieb:
Aber könnt ihr mir nicht trotzdem sagen ,was in meinem code nicht stimmt?
-->
MFK schrieb:
Rück deinen Code mal ordentlich ein, dann siehst du es.
-
for(int i = 0; i< 5 ; ++i) { if(zahl[i] > zahl[i+1]) { int swap = zahl[i+1]; zahl[i+1] = zahl[i]; zahl[i] = swap; cout << zahl[i] << " Bye " << endl; } }Sortierte Array:
- zwieschen speichern in eine Datei, dann ausgeben
oder
- sortierte Array in einen anderen Array zwieschen speichern, dann ausgeben
-
Ach komm Felix, das ist sinnlos.
Ich hab ihm den eingerückten Code doch schon gepostet, aber er will es halt nicht.
Der Junge hat keine Ahnung vom Programmieren und ist auch nicht willig es zu lernen.
Falls er mir da widersprochen möchte, dann solle er doch bitte erstmal den Debugger anschmeissen und das ganze durchgehen, danach konkrete Fragen stellen und diese vor allem auch formulieren (dann erledigen sich viele Fragen von selbst).
(Falls er nicht wisse, was ein Debugger ist und wie er funktioniert, dazu gibt es Google und die Dokumentation seienr Entwicklugnsumgebung...)
-
Alternative:
Du kannst Container verwenden:
http://de.wikipedia.org/wiki/C%2B%2B-Standardbibliothek
http://www.c-plusplus.net/forum/143816-fulldamit kannst sehr leicht und schnell deine "Array" sortieren
-
Kann mir nicht jemand einfach mein Programm korrigieren?
-
Hallo21 schrieb:
Kann mir nicht jemand einfach mein Programm korrigieren?
Klar, was zahlst du?
-
MFK schrieb:
Hallo21 schrieb:
Kann mir nicht jemand einfach mein Programm korrigieren?
Klar, was zahlst du?
Ach, komm schon. Wenn jeder ein paar Zeilen korrigiert, dann sollten wir das zusammen doch recht schnell hinkriegen. Ich mach mal den Anfang mit den Zeilen 52 bis 68: nix auszusetzen.
-
Michael E. schrieb:
Ich mach mal den Anfang mit den Zeilen 52 bis 68: nix auszusetzen.
Ach ja?
Syntaxfehler, schließende Klammer zuviel.
-
Wutz schrieb:
Michael E. schrieb:
Ich mach mal den Anfang mit den Zeilen 52 bis 68: nix auszusetzen.
Ach ja?
Syntaxfehler, schließende Klammer zuviel.Ou Mann, mir war irgendwie schon klar, dass man hier keinen Witz machen kann, ohne ihn eine Stunde vorher in Großbuchstaben anzukündigen. Ich hab aber eher damit gerechnet, dass jemand bemerken wird, dass man an den entsprechenden Zeilen aussetzen kann, dass sie überhaupt existieren. Stattdessen kommst du auch noch mit einem Fehler, der gar nicht vorhanden ist, denn der letzte Code von Hallo21 lässt sich problemlos kompilieren

-
Michael E., wenn du Witze machen willst, musst du wie Sone oder Nathan "SCNR" dazu schreiben. Solche Witze waren zwar nie lustig, aber immerhin war die Absicht klar :p
-

-
Hallo21 schrieb:
Kann mir nicht jemand einfach mein Programm korrigieren?
Hier und da ein paar Klammern weg und ein paar Klammern hin, die Leerzeilen weg (Was soll das? Sieht aus wie Hulle!). Und siehe da - es fehlt nur noch die Sortierung.
Wikipedia aufmachen: ahh. Algorithmus steht schon fertig da. Fertig ist der Lack.
Das war meine Freizeit. Und Du hast nicht unbedingt viel dabei gelernt.
#include <iostream> //dreieckstausch void swap(int& a, int& b){ int swap = a; a = b; b = swap; } // von: http://de.wikipedia.org/wiki/Bubblesort#Algorithmus void bubblesort(int* A, int size){ for(int n=size; n>1; n=n-1) { for(int i=0; i<n-1; i=i+1) { if(A[i] > A[i+1]) { swap(A[i], A[i+1]); } } } } int main() { using namespace std; int n; int zahl[5]; cout<<" Anzahl der einzulesenden Elemente "; cin>>n; if ( n>5 )//Plausibilitaetskontrolle { cout << "Es sind nicht mehr elemente verfügbar" << endl; } cout<<" Elemente eingeben "; for (int i=0; i<n; i++)//Eingabe der Arrayelemente { cin>>zahl[i]; } bubblesort(zahl, n); cout << "sortiert" << endl; for (int i=0; i<n; ++i) { cout << zahl[i] << " Bye " << endl; } return 0; }