C-Kurs/Arrayuebergabe
< C-Kurs
Version vom 14. September 2009, 20:49 Uhr von 85.178.222.75 (Diskussion) (nion - eine aufgabe konzipiert, musterlösung liegt bereit)
Aufgabenstellung
Schreibe ein Programm, per Konsolenoption die Größe eines Arrays für Integer-Werte angegeben bekommt. Das Programm soll anschließend Speicher auf dem Heap allozieren und diesen als Array verwenden, um Integer-Werte zu speichern. In diesem Array soll anschließend der Größte Wert gefunden und angezeigt werden.
Vorgehensweise
- Lese das erste Kommandozeilenargument und alloziere einen entsprechend Großen Buffer
- Achte dabei möglichst auf Fehlerbehandlung bei falschen Größen
- Lese n Integer-Werte von der Standardeingabe und speicher diese im vorher allozierten Buffer
- Übergebe das Array an eine Funktion find_max, die den größten Wert zurückgeben soll
- Suche den maximalen Wert mit Pointerarithmetik (keine direkte Indexaddressierung bei Vergleichen)
Achtung: Sinn der Aufgabe ist das Verinnerlichen von Pointern, ihr könnt in C nicht wie in anderen Sprachen einfach ein Array als Argument übergeben, stattdessen müsst ihr auf Pointer zurückgreifen.