C++BubbleSort

hallo

Ich fange an mit programieren,
und wolte einen aufgabe lösen.

BubbleSort ist die Bezeichnung für ein Verfahren zum Sortieren eines linearen Feldes: Beim Durchlaufen des Arrays vertauscht man zwei benachbarte Elemente, wenn sie nicht in der korrekten Reihenfolge stehen.

Beispiel:
Hier die zu sortierende Liste [6,2,4,9,3,5,1]

[6,2,4,9,3,5,1]
[2,4,6,3,5,1,9]
[2,4,3,5,1,6,9]
[2,3,4,1,5,6,9]
[2,3,1,4,5,6,9]
[2,1,3,4,5,6,9]
[1,2,3,4,5,6,9]

#include 
#include 
#include 
using namespace std;


int main(void)
{
 int feld[] = { 6 , 2 , 4 , 9 , 3 , 5 , 1 };
 int max = sizeof(feld) / sizeof(int);
 bool getauscht = false;
 int i,j,temp;




 do
 {
 getauscht = false;

 for (i = 0; i feld[i+1])
 {
 temp = feld[i];
 feld[i]= feld[i+1];
 feld[i+1]= temp; 
 getauscht= true;



 } 
 } 
 } 
 while (getauscht);
 for(i=0; i 


es funktioniert so,
aber ich brauche nach jedem durlauf die ausgabe.
wie mche ich das?

danke 

_[MOD]: 

    -Tags hinzugefügt. Bitte in Zukunft selbst machen!_ 

Hi,

hallo

Ich fange an mit programieren,
und wolte einen aufgabe lösen.

BubbleSort ist die Bezeichnung für ein Verfahren zum Sortieren
eines linearen Feldes: Beim Durchlaufen des Arrays vertauscht
man zwei benachbarte Elemente, wenn sie nicht in der korrekten
Reihenfolge stehen.

es funktioniert so,
aber ich brauche nach jedem durlauf die ausgabe.
wie mche ich das?

den cout-Befehl, bzw die while-Schleife einfach mit in deine do-Schleife packen. Im übrigen solltest du darauf achten, dass wenn du Quelltext postest, diesen in pre-Tags setzt mit

 und 

ohne das Leerzeichen natürlich :wink:

Gruß x303

hallo vasko

Ich würde das mit einer Funktion machen:

int ausgabe (const int \*feld, const int groesse)
{
 if (! feld) {return -1;}

 cout 

lg
Martin B

Hallo Martin

danke das du dir Zeit für mich genomen hast.

aber die aufgabe ist: ohne funktion mus ich das machen.

und die nächste aufgabe ist dann mit funktion.

danke

Hallo vasko

danke das du dir Zeit für mich genomen hast.

bitte gerne.

aber die aufgabe ist: ohne funktion mus ich das machen.

Das ist kein Problem, Du kannst das in der main() genauso machen, mit dem selben Quelltext.

lg
Martin B

hi,
der Code würde dann so aussehen:

#include 
#include 
#include 
using namespace std;

int main(void)
{
 int feld[] = { 6 , 2 , 4 , 9 , 3 , 5 , 1 };
 int max = sizeof(feld) / sizeof(int);
 bool getauscht = false;
 int i,j,temp;

 do
 {
 getauscht = false;

 for (i = 0; i feld[i+1])
 {
 temp = feld[i];
 feld[i]= feld[i+1];
 feld[i+1]= temp;
 getauscht= true;
 }
 }//for\_i

 for(i=0; i 


> <small>[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]</small>