Bitte die Werte eingeben und mit 0 beenden:
     3 6 5 99 1001 1 5
     1001, 99, 6, 5, 5, 3, 1,
Alle unterstrichenen Stellen bei der Aufgabe sind Eingaben, die der Benutzer durchführen soll.
#include <fstream.h>
// Konstante für die maximale Anzahl an Zahlen definieren
const int MAX_ZAHL = 100;
// Funktion zum Vertauschen zweier Zahlen
void change(int *a, int *b)
{
  int buffer; // Buffer, der für die Vertauschung benötigt wird
  buffer = *a;
  *a = *b;
  *b = buffer;
}
// Start des Hauptprogrammes
main()
{
  // Variablen deklarieren
  int zahl;
  int count = 0;        // Aktuelle Zahl (mit 0 initialisieren)
  int zahlen[MAX_ZAHL]; // Buffer für die Zahlen (max. MAX_ZAHL Zahlen)
  cout << "Bitte die Werte eingeben und mit 0 beenden: ";
  // Die erste Zahl einlesen
  cin >> zahl;
  // Testen ob Zahl ungleich 0 ist und weniger als MAX_ZAHL Zahlen
  // im Buffer sind
  while (zahl != 0 && count < MAX_ZAHL)
  {
    // Testen ob die Zahl positiv ist
    if (zahl > 0)
    {
      // Zahl in den Buffer schreiben
      zahlen[count] = zahl;
      // Variable für aktuelle Zahl um eins erhöhen
      count++;
      // Testen ob MAX_ZAHL Zahlen eingegeben wurden
      if (count == MAX_ZAHL)
      {
        cout << "Es können keine weiteren Zahlen eingegeben werden." << endl;
        break;
      }
    }
    // nächste Zahl einlesen
    cin >> zahl;
  }
  // Zahlen sortieren (Selectionsort)
  int max_pos, max_zahl, i, j; // Variablen deklarieren
  // Alle Zahlen durchlaufen
  for (i = 0; i < count; i++)
  {
    max_zahl = 0;
    max_pos  = i;
    // Zahlen von i bis count-1 durchlaufen
    for (j = i; j < count; j++)
    {
      // Testen ob Zahl an Position j größer ist als max_zahl
      if (zahlen[j] > max_zahl)
      {
        max_zahl = zahlen[j];
        max_pos = j;
      }
    }
    // Wenn die größte Zahl nicht die Zahl an Position i ist, dann
    // Zahlen vertauschen
    if (max_pos != i)
      change(&zahlen[i], &zahlen[max_pos]);
  }
  // Zahlen ausgeben
  for (i = 0; i < count; i++)
    cout << zahlen[i] << ", ";
  cout << endl;
}