Ich brauche ein C Programmer

Job ID: 32540875

Budget: €30 – €250 EUR

1. Aufgabe: Sortieren von Zahlen
Es ist ein Programm zum Sortieren von Zahlen zu erstellen. Das Programm soll über Funktionen strukturiert werden.
Zuerst eine Erläuterung des Algorithmus:
In jedem Durchlauf wird die Position des kleinsten Wertes ermittelt. Dann wird der Inhalt dieser Position mit dem Inhalt der ersten Position getauscht. Nun steht der kleinste Wert auf der ersten Stelle und wird in der weiteren Programmausführung nicht mehr berücksichtigt. Im nächsten Durchlauf wird von den verbliebenen Werten dann wiederum der kleinste Wert ermittelt und dann mit der zweiten Position getauscht. Nun steht der zweitkleinste Wert fix auf der 2. Position und im nächsten Durchlauf wird der drittkleinste Wert für die 3. Position ermittelt usw.
Hier noch eine etwas ausführlichere grafische Aufbereitung für n = 5 Zahlen: Suchbereich
Die Anzahl der Werte wird über #define vorgegeben. Diese Konstante ist in jeder Funktion
verwendbar und muss nicht als Parameter übergeben werden.
Zuerst wird eine vorgegeben Anzahl von Werten mittels einer Funktion eingelesen: Diese liefert via call-by-reference ein Feld mit den eingegebenen Werten.
Anschließend wird das Feld über eine Funktion ausgegeben.
Führen Sie die notwendigen Durchläufe des Sortiervorgangs in der main-Funktion aus:
Bei jedem Durchlauf wird eine Funktion zum Suchen des kleinsten Wertes aufgerufen: Rückgabewert ist der Index des Feldelements, das den kleinsten Wert beinhaltet.
Der Such-Funktion wird das vorhandene Feld sowie der Startindex des Suchbereichs übergeben.
Anschließend wird in der Schleife eine Funktion zum Tauschen aufgerufen:
Der Tausch-Funktion werden das vorhandene Feld sowie die Indizes der zu tauschenden Feldelemente übergeben.
Das Feld soll innerhalb der Funktion über Adresszugriffe (call-by-reference) geändert werden.
Nach dem Sortiervorgang wird das sortierte Feld über die bereits erstellte Ausgabe-Funktion ausgegeben. Auch Zwischenergebnisse können mit dieser Funktion einfach ausgegeben werden.