C-Kurs/Arrayuebergabe: Unterschied zwischen den Versionen
< C-Kurs
(nion - eine aufgabe konzipiert, musterlösung liegt bereit) |
(→Aufgabenstellung) |
||
Zeile 1: | Zeile 1: | ||
=== Aufgabenstellung === | === Aufgabenstellung === | ||
− | Schreibe ein Programm, per | + | Schreibe ein Programm, 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. | 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. | ||
Version vom 14. September 2009, 21:06 Uhr
Aufgabenstellung
Schreibe ein Programm, 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.