006
20.05.2006, 00:24 Uhr
TOK_IT
|
Hmm, dankeschön, ich probiers mal so, wie du's hier hast. Mal kurz die gesamte Aufgabe:
Gegeben sei folgende Datenstruktur:
struct digit { float f; digit * pNext; };
Aus Elementen der Datenstrukur digit soll eine einfach verkettete Liste aufgebaut werden, deren f-Instanzen (Datenwerte f) jeweils Meßwerte einer Testreihe repräsentieren sollen. Die Meßwerte sollen vom Nutzer eingegeben werden. Beispiel: Der Meßwertreihe -2 -3.4 8.1 0.4 10.7 soll aus 5 Elementen vom Typ digit bestehen: anchor -> -2 -> -3.4 -> 8.1 -> 0.4 -> 10.7 NULL
Entwerfen Sie über eine solche Datenstruktur ein C++-Programm mit folgendem Aufbau:
int generate(digit *&pA);
Die Funktion generate soll eine Liste aufbauen. Der Inhalt der f-Instanzen (Strukturelemente f eines Listenelements) ist vom Nutzer festzulegen. Die Anzahl der einzugebenden Elemente wird entweder
* vom Programmierer festgelegt oder * dadurch bestimmt, dass ein bestimmter Abbruchwert festgelegt wird, dessen Eingabe zum Abbruch des Aufbaus der Liste führt.
Die Funktion generate gibt den Wert 1 zurück, wenn der Aufbau vollständig geglückt ist, den Wert 0 sonst. Wenn der Parameter pA gleich NULL ist, so soll eine neue Liste aufgebaut werden, sonst sollen Elemente an eine existierende Meßwertliste angehängt werden. Die korrekte Parameterübergabe ist geeignet in der Funktion main zu realisieren.
float get_mean(digit * pA);
Die Funktion get_mean soll den arithmetischen Mittelwert der f-Instanzen der Elemente der einfach verketteten Liste bestimmen, die durch den Zeiger pA adressiert wird. Der ermittelte Mittelwert ist der rufenden Funktion zu übergeben. Wenn eine leere Liste übergeben wurde, soll der Wert 0 als Ergebnis geliefert werden.
int delete_elements(digit * & pA, float mean, float divergency);
Die Funktion delete_elements soll alle Elemente aus der einfach verketteten Liste löschen, die durch den Zeiger pA adressiert wird, deren f-Instanz um mehr als divergency (Angabe in Prozent) vom Mittelwert mean abweichen. Zurückgegeben werden soll die Anzahl der gelöschten Elemente. Hinweis: Beachten Sie, daß auch das Element gelöscht werden kann, welches am Anfang der einfach verketteten Liste steht In der Funktion main() sollen die beschriebenen Funktionen menuegesteuert (auch mehrfach) aufgerufen werden. Als Mittelwert für die Funktion delete_elements ist das Ergebnis der Funktion get_mean zu nutzen, die prozentuale Abweichung divergency ist von Nutzer des Programmes einzugeben.
Recht umfangreich, ich brauch erstmal den Ansatz, dann klappt hoffentlich der Rest auch. |