000
12.01.2005, 14:35 Uhr
Gölti
|
Hi! Brauche eure Hilfe! Haben in Programmieren folgende Hausaufgabe auf und ich kann sie nicht lösen! Ich hoffe ihr helft mir! Also hier die Aufgabenstellung:
a) Erstellen Sie eine Funktion findeZahl(), die mehrere Übergabeparameter hat: Eine ganze Zahl, ein Feld ganzer Zahlen zwischen 1 und 100, die Länge des Feldes, sowie einen Zeiger, der auf ein Element des Feldes zeigt. Die Funktion soll die übergebene Zahl im Feld finden und einen Zeiger auf das Element zurückgeben, in dem sich die Zahl befindet. Die Suche soll bei dem Element beginnen, auf das der zusätzlich übergebene Zeiger zeigt. Die Funktion soll NULL zurückgeben, falls die Zahl nicht gefunden wird. Die Funktion soll sicherstellen, dass der Zeiger wirklich auf ein Element des Feldes verweist. Wenn dies nicht der Fall ist, soll die Suche am Anfang des Feldes beginnen. Enthält der übergebene Zeiger den Wert NULL, so soll die Suche auch am Anfang des Feldes beginnen. Die Funktion soll ausschließlich Zeiger (keine Ausdrücke der Art 'Feldanfang+Index' !) für den Zugriff auf das Feld verwenden. Entwerfen Sie den Algorithmus mittels eines Struktogramms.
b) Stellen Sie ein Hauptprogramm zum Test der Funktion zur Verfügung. Es soll ein Feld mit Zahlen initialisieren und es soll alle möglichen erlaubten und fehlerhaften Funktionsaufrufe generieren, um zu Testen, dass sich die Funktion korrekt verhält. Das Hauptprogramm soll außerdem dem Anwender die Möglichkeit bieten, eine Suchzahl einzugeben. Aus dem zurückerhaltenen Zeiger soll im Hauptprogramm berechnet werden, um das wievielte Element im Feld es sich bei der gefundenen Position handelt. Das Hauptprogramm soll außerdem die Funktion mehrfach aufrufen, um so alle im Feld vorhandenen passenden Zahlen zu finden.
P.S.: Das ganze soll in Borland C++ geschrieben werden! Schonma DANKE MfG Gölti |