Hi me2u!
Laß uns das Problem mal systematisch angehen.
Als erstes brauchen wir die Variablen mit denen wir arbeiten wollen. Die gebe ich der Einfachheit mal vor:
Delphi-Quellcode:
const
BILDER_GESAMT=10; //logisch oder?
var
Bilder : array[0..BILDER_GESAMT-1] of Cardinal; //dadurch das wir hier die Konstante nutzen, brauchen wir bei einer Änderung der Bilderzahl nicht immer die Dimension des Arrays anpassen
Schokoladen : Cardinal; //die Anzahl der Schokoladen, die wir kaufen
BilderKomplett : Boolean; //wird true sein, wenn wir alle Bilder gesammelt haben
BildIndex : Cardinal; //eine Zählvariable um durch das Array zu laufen
So, jetzt gehts richtig los.
Am Anfang haben wir 0 Schokoladen gekauft (worüber sich der Geldbeutel freut
). Also müssen wir Schokoladen auf 0 setzen (deine Aufgabe ist es ab jetzt, dir den Code zu dem auszudenken, was ich sage
)
Auch haben wir am Anfang noch kein einziges Bild gesammelt. Also sollten wir alle Felder im Array auf 0 setzen.
Als nächstes kommt die Einkaufsschleife
... eine Schleife, in der wir solange Schokoladen kaufen bis wir alle Bilder gefunden haben. Wir hören erst auf mit dem Schokolade kaufen, wenn wir alle BilderKomplett
haben.
Der Inhalt der Schleife beschreibt einen Einkauf. Was passiert dabei?
Die Anzahl der Schokoladen erhöht sich um 1. (Was sonst?) Wir bekommen auch ein neues Bild in unsere Sammlung. (Hinweis:
Random(BILDER_GESAMT)
liefert bei obiger Deklaration immer einen gültigen Index aus dem Array) Also muss der Wert des entsprechenden Feldes im Array um eins erhöht werden.
Und da wir nun hoffen, endlich alle Bilder gefunden zu haben, kontrollieren wir, ob wir von jedem Bild mindestens eins haben.
Wenn das so ist können wir sagen das wir alle BilderKomplett haben. Damit sollte auch unsere Einkaufsschleife beendet sein.
In der Variable "Schokoladen" wissen wir nun, wieviele Schokoladen wir kaufen mussten, um alle Bilder zu bekommen.
Das Ganze kann man jetzt in eine Funktion packen und diese N-mal aufrufen und damit den Mittelwert (lt. Aufgabenstellung) errechnen.
So, ich hoffe, das hat dir ein wenig geholfen. Falls du Lust hast, können wir am Ende deiner Untersuchungen unsere Quellcodes mal vergleichen.