Hallo!
Ein einfacher Zahlensortierungsalgorithmus für Zahlen(in einem Array)...
Das Verfahren:
Die erste Stelle des Feldes wird mit der Zweiten Stelle verglichen; bei Ungleichheit werden sie vertauscht.
Das geht weiter, solange bis alle Felder Vertauscht sind. Gleichzeitig wird ein Flag gesetzt, wenn in der For-Schleife etwas vertauscht wird.
Danach wird eine do..while Schleife zum Überprüfen des Flags verwendet (falls das Flag 0 ist ist die Sortierung fertig)
SO, der Code:
Code:
#include <iostream>
#include <conio>
#define WB 1000
using namespace std;
//---------------------------------------------------------------------------
int main()
{
int iArr[50], iFlag, iDummy;
randomize();
cout << "Dieses Programm kann zufaellig generierte Zahlen sortieren!" << endl;
cout << "___________________________________________________________" << endl << endl;
cout << "Folgende Zufallszahlen sind unsortiert:" << endl << endl;
for (int i = 0;i<21;i++)
{
iArr[i] = random(WB);
cout << iArr[i] << ", ";
}
cout << endl;
cout << "___________________________________________________________" << endl << endl;
cout << "Diese Zahlen wurden sortiert: " << endl << endl;
do
{
iFlag = 0;
for (int i = 0;i < 20;i++)
{
if (iArr[i] > iArr[i+1])
{
iFlag = 1;
iDummy = iArr[i];
iArr[i] = iArr[i+1];
iArr[i+1] = iDummy;
}
}
}while (iFlag == 1);
for (int i = 0;i<21;i++)
{
cout << iArr[i] << endl
}
getch();
return 0;
}
//---------------------------------------------------------------------------
Vielen Dank für die Aufmerksamkeit