Zum Inhalt springen

Wie beende ich eine Schleife wenn die das nicht selbst macht?


Empfohlene Beiträge

Geschrieben

Ich bin in meinem 2. ausbildungsjahr zum fachinformatiker - anwendungsentwicklung.

Wir machen im AWE unterricht im moment die Umsetzung von Sortierverfahren in c++.

Ich hab dann ein Programm zu bubblesort geschrieben und es sortiert die 10 Zahlen auch richtig. Allerdings wird die Schleife nicht beendet und es kommt nicht dieses "drücken sie eine beliebige taste".

Hier mein code:

#include <iostream>

using namespace std;

int main() // Der Anfang des Programmes.

{

int hilf; // eine Hilfsvariable wird erstellt.

int feld[10]={32,14,26,17,67,3,5,7,2,1}; // Das Feld mit den zu sortierenden Zahlen wird erstellt.

bool getauscht=true; // die Variable getauscht wird auf wahr gesetzt

int zaehler=0; // die variable zaehler wird auf 0 gesetzt

while (getauscht=true) // die Haupschleife mit ihrer bedingung solange wie getauscht wahr ist

{

getauscht=false; // getauscht wird auf falsch gesetzt

zaehler=0; //zaehler wird auf 0 gesetzt

while (zaehler < 9) // schleife solange wie zaehler kleiner als 9 ist

{

if (feld[zaehler] > feld[zaehler+1]) // Wenn feld von zahler größer ist als das feld von zaheler +1 dann soll getauchst werden

{

hilf=feld[zaehler]; // die variable hilf bekommt den wert von feld zaehler

feld[zaehler]=feld[zaehler+1]; // das feld zaehler bekommt den wert von feld zaehler +1

feld[zaehler+1]=hilf; // das feld zaehler +1 bekommt den wert von hilf

getauscht=true; // getauscht wird auf wahr gesetzt

for(int i=0; i<10; i++) // eine forschleife mit der die felder nach jedem mal getauscht angezeigt werden

{

cout << feld << " ";

}

cout << endl;

}

zaehler=zaehler+1; // zaehler wird inkrementiert

}

}

system("pause"); // wenn das programm zuende ist wartet das fenster auf einen tastendruck des users bevor es sich schließt

return 0;

}

Geschrieben

Wenn du [ CODE] und [/ CODE] benutzt, bleibt die Formatierung erhalten. Ist wesentlich angenehmer zu lesen. ;) Wenn du [ PHP] und [/ PHP] benutzt wird sogar gehighlightet (lustige Anglizismen), obwohl es nicht PHP ist. ;-)

1. while(getauscht == true) ist das, was ich gerade spontan sehe.

Mehr sehe ich gerade nicht. Wobei ich persönlich auch wenig Lust habe, den Quelltext einzurücken und dann nochmal ordentlich schauen zu können, wenn ich ehrlich bin.

Mit freundlichen Grüßen,

Cadpax

Geschrieben

Hallo,

da der Bubblesort zu der Komplexitätsklasse O(n^2) gehört, kannst Du immer nach n^2 Durchläufen abbrechen, damit sind dann alle Elemente richtig sortiert. Aber Du solltest Dir überlegen, ob Du Bubblesort verwendet, es gibt Verfahren, die wesentlich schneller sortieren z.B. O(n*log(n))

HTH Phil

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...