Hallo erstmal, bin neu hier =)
Und habe schon ein Problem.
Und zwar lerne ich gerade C++ und da soll ich jetzt ein Sortierprogramm erstellen, das die Bubblesort-Funktionsweise anwendet.
Das habe ich dann auch getan:
|
C/C++ Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#include <iostream>
using namespace std;
#include <stdlib.h>
const int MAX=5;
int main()
{
int feld[MAX], hilf;
int i, j, k;
srand(56); // Zufalls Generator vorbereiten
for (i=0; i < MAX; i++)
{ //Array besetzen und Anzeigen
feld[i] = rand() % 100 + 1;
cout << feld[i] << " ";
}
cout << endl;
for(i=MAX-1; i > 0; i--)
{
for (j = 0; j < i; j++)
{
cout << "(" << j << "-" << j+1 << "): ";
if (feld[j] > feld[j+i])
{ //Tauschen erforderlich
hilf = feld[j];
feld[j] = feld[j+1];
feld[j+1] = hilf;
}
cout << feld[j] << " - " << feld [j+1] << " ";
}
//Zeige das Array in diesem Durchlauf
cout << endl << MAX -i << ". Durchlauf beendet: ";
for (k = 0; k < MAX; k++)
{
cout << feld[k] << " ";
}
cout << endl;
}
}
|
Geht alles soweit gut. Konsole erscheint. Die Ausgabe lautet dann wie folgt:
22 7 24 95 16
(0-1): 7 - 22 (1-2): 24 - 22 (2-3): 22 - 95 (3-4): 95 - 16
1. Durchlauf beendet: 7 24 22 95 16
(0-1): 7 - 24 (1-2): 22 - 24 (2-3): 95 - 24
2. Durchlauf beendet: 7 22 95 24 16
(0-1): 7 - 22 (1-2): 22 - 95
3. Durchlauf beendet: 7 22 95 24 16
(0-1): 7 - 22
4. Durchlauf beendet: 7 22 95 24 16
Und das Problem dabei ist, dass halt nicht alles richtig geordnet ist.
Ich hoffe ihr versteht mein Problem, und vielleicht kann mir ja jemand helfen
MlG
SwiPP