#pragma hdrstop #include #include // getch() #include // cin cout const EINMAX=5; // maximale Feldgrösse int EinFeld [EINMAX]; // Feld mit max 20 Elementen int EinZahl; // Anzahl der Elemente int FeldEingeben(int Feld[]){ // Einlesen von Zahlen int i,z; // Index i und EingabeZahl z cout << "Geben Sie maximal " << EINMAX; cout << " positive int-Zahlen ein, -1 stoppt Eingabe\n"; i=0; // i mit 0 intitialisieren do { cout << i << " : "; cin >> z; // Zahl einlesen if (z>=0){ // wenn positive Zahl eingegeben wurde Feld[i] = z; // Zahl merken i++; } } while (z>=0 && i < EINMAX); // solange positive Zahlen return i; } void FeldAusgeben(int Feld[],int N){ // Unterprogramm zur Ausgabe des Feldes int i; for (i=0;i=i; k--){ if (Feld[k-1]>Feld[k]){ // Werte tauschen temp=Feld[k]; Feld[k]=Feld[k-1]; Feld[k-1]=temp; tm=true; // Tauschmerker setzen } } i++; }while (tm); // solange wiederholen bis kein Tausch } void main(){ cout << "Bubblesort, Zahlen sortieren \n"; EinZahl = FeldEingeben(EinFeld); cout << "Es wurden " << EinZahl << " Zahl eingegeben\n"; FeldAusgeben(EinFeld,EinZahl); cout << "Zahlen wurden sortiert: \n"; SortiereZahlen(EinFeld,EinZahl); FeldAusgeben(EinFeld,EinZahl); getch(); // Damit das Fenster nicht wieder zu geht }