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

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...