Zahlenliste erstes Vorkommen eines Elements bestimmen |
11.01.2021, 18:15 | Auf diesen Beitrag antworten » |
Lalelilolu | Zahlenliste erstes Vorkommen eines Elements bestimmen Meine Frage: Ich hab folgende Aufgabe zu lösen stehe allerdings selber total auf dem Schlauch. Gegeben ist der abstrakte Datentyp ?Zahlenliste?, Listen von Zahlen speichern und manipulieren können soll mittels folgender Operationen: - Zahlenliste(): Konstruktor, erzeugt eine leere Zahlenliste - anfügen(z): Fügt die Zahl z am Ende der aktuellen Liste ein - auslesen(p): Liest die Zahl an der Position p aus und gibt diese zurück. Positionen in der Liste beginnen bei 1. - schreiben(p, z): Überschreibt die Zahl an Position p mit der Zahl z - entfernen(p): Entfernt die Zahl an Position p - anzahl(): Liefert die aktuelle Anzahl der Zahlen in der Zahlenliste Die Pseudocode-Funktion ?ErstesVorkommen? soll das erste Vorkommen der Zahl x in der Zahlenliste L finden und die Position zurückgeben. Wenn die Zahl x in der Zahlenliste L gar nicht vorkommt, soll die Funktion als Ergebnis -1 liefern. Füllen Sie die Lücken: function ErstesVorkommen input L: Zahlenliste x: Zahl, deren erste Position in der Liste L gesucht werden soll output Position des ersten Vorkommens der Zahl x in der Zahlenliste L begin for i := _____ to _____ do z := _____ if _____ then return i end end return _____ end L := Zahlenliste() L.anfügen(3) L.anfügen(-8) L.anfügen(7) L.anfügen(1) L.anfügen(7) p := ErstesVorkommen(L, 7) output p # gibt aus: _____ Vielen Dank schonmal für eure Hilfe! Meine Ideen: Erste Lücke: 1 Zweite Lücke: Länge(L) Die Elemente der menge sollen ja Element für Element durchgegangen werden. Allerdings gibt die Länge ja die Anzahl an Elementen in der Menge und nicht das letzte Element an. Muss ich da also etwas anderes nutzen? Dritte Lücke: keine Idee Ich verstehe leider nicht so wirklich was ich mit z anstellen soll. Vierte Lücke: z ungleich x Es geht ja schließlich um den vergleich von x mit den anderen Elementen. Aber ist das hier die richtige Stelle und muss ich z mit x vergleichen? Fünfte Lücke: i=i+1 Es sollen ja alle Elemente nacheinander verglichen werden. Letzte Lücke: 3 Da die Zahlenliste scheinbar 3, -8, 7, 1, 7 lautet |
|
|
13.01.2021, 10:42 | Auf diesen Beitrag antworten » |
as_string | Bei der zweiten Lücke: Die Funktion für die Länge von L heißt aber "L.anzahl()" und nicht "Länge(L)" Ich denke, in der 3. Lücke soll z die Zahl zugewiesen werden, die an der aktuellen Stelle in der Liste steht (also an Stelle i von Liste L). vierte Lücke: Aber er soll doch bei Gleichheit das aktuelle i zurück geben, also doch nicht wenn z ungleich x, sondern bei z gleich x, oder? 5. Lücke: Da soll der Rückgabewert stehen, bei Auffinden. Also einfach nur ein i Das erhöhen von i macht die for-Schleife doch schon automatisch, da musst Du innerhalb der Schleife selbst kein i:=i+1 mehr machen! Ja, bei der letzten sollte eine 3 raus kommen. Gruß Marco |
|