C++ Bubblesort

Drummer2

Newbie
Registriert
Feb. 2011
Beiträge
3
Hallo,
ich hätte eine Frage bezüglich folgendem Quellcode. Ich verstehe nicht ganz, was die einzelnen Funktionen bringen und was sie genau bedeuten. Könnte mir vielleicht jemand die einzelnen Zeilen und deren Funktionen genauer erläutern?

Code:
#include <iostream>
using namespace std;
void main()
{
int iNumbers[] = {9,5,1,7};
int iLen = sizeof(iNumbers)/sizeof(int);
// output
for (int i=0; i < iLen; ++i)
cout << iNumbers[i] << " ";
cout << endl;
// bubble sort
for (int i=iLen-1; i >= 0; --i) {
for (int j=0; j < i; ++j) {
if (iNumbers[j] > iNumbers[j+1]) {
int iTemp = iNumbers[j];
iNumbers[j] = iNumbers[j+1];
iNumbers[j+1] = iTemp;
}
}
}
// output
for (int i=0; i < iLen; ++i) cout << iNumbers[i] << " ";

Desweiteren sollen wir ein Programm coden, wo 20 Zahlen eingelesen und diese von klein nach groß geordnet werden sollen. Ich weiß nicht ganz, wie man das realisieren kann. Habe es schon mit cin << probiert, aber das hat nicht so ganz geklappt.

Mit freundlichen Grüßen
Drummer2
 
Mit anderen Worten, meine Hausaufgaben sind zu morgen fällig, aber leider habe ich die letzten Wochen damit verschwendet, dem Klassenschwarm schöne Augen zu machen, anstatt mich auf's Unterrichtsthema zu konzentrieren? :lol:
 
antred schrieb:
Mit anderen Worten, meine Hausaufgaben sind zu morgen fällig, aber leider habe ich die letzten Wochen damit verschwendet, dem Klassenschwarm schöne Augen zu machen, anstatt mich auf's Unterrichtsthema zu konzentrieren? :lol:
Sind keine Hausaufgaben. Ich versuche nur zu verstehen, was die einzelnen Zeilen des Programms machen. Ich will von euch ja nicht, dass ihr irgendwas für mich codet ;)
 
Stellen wir doch einfach mal die wichtigste Frage: Was genau verstehst du nicht?
Bsp: "cout << endl;" hier wird eine neue Zeile eingefügt, willst du sicher nicht wissen.
EDIT: Ok, vllt willst du es doch wissen. "cin <<" schreiben in den Eingangspuffer ist schon eine tolle Idee...

Um die Antwortmöglichkeiten ein wenig in die richtige Richtung zu führen: Weißt du, wie Bubblesort überhaupt funktionieren soll? Falls nicht, solltest du den Rat von IceMatrix annehmen. ;-)
 
Zuletzt bearbeitet:
naja dann schreib ich mal was sinnvolles xD

ein bubblesort funktioniert über einen dreieckstausch

du hast z.b. beispiel ein Array "arrNumber" mit dem inhalt 5,2,6,8,7

für jeden durchgang der for schleife

tauscht du arrNumber[x] mit arrNumber[x+1] wenn arrNumber[x+1] größer ist

um die arrNumber[x] aber nicht zu verlieren schiebst du diese in eine Temp Variable wie zp.

nTmpNumber

sozusagen im klartext: (--> für verschieben)

arrNumber[x] --> nTempNumber
arrNumber[x+1] --> arrNumber[x]
nTempNumber --> arrNumber[x+1]


wenns immer 20 zahlen sein solln
dann erstellst du einfach ein Array mit 20 Elementen

und baust eine for schleife
die das arr duchläuft

bsp.
Code:
for ( int a = 0; a < arrInpNumbers.length ; a++)
{
      cout << "Zahl: " << a+1;
      cin >> arrInpNumbers[a];
}
damit kannste das array füllen zahl für zahl
 

Ähnliche Themen

Zurück
Oben