C-Kurs/Arrayuebergabe: Unterschied zwischen den Versionen
< C-Kurs
(→Aufgabenstellung) |
|||
Zeile 1: | Zeile 1: | ||
=== Aufgabenstellung === | === Aufgabenstellung === | ||
− | Schreibe ein Programm, per Konsolenparameter die Größe eines Arrays für Integer-Werte angegeben bekommt. Das Programm soll anschließend | + | Schreibe ein Programm, das per Konsolenparameter 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 | + | 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 | Vorgehensweise |
Version vom 15. September 2009, 10:02 Uhr
Aufgabenstellung
Schreibe ein Programm, das per Konsolenparameter 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.