Einzelnen Beitrag anzeigen

me2u
(Gast)

n/a Beiträge
 
#12

Re: Sammelbilder [lineares Feld]

  Alt 29. Apr 2007, 20:15
Hi, ich habe mittlerweile folgenden Code: Ich habe übrigens das mit dem boolean geändert, kam irgendwie gerade so, als ich an anderer Stelle das mit + 1 eingebaut habe und dafür natürlich integer oder cardinal benötige.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

const bilder_gesamt = 10; //Anzahl aller Bilder

var Bilder : array [0..(bilder_gesamt-1)] of integer;
    Tafeln : integer; //Anzahl der Tafeln Schokolade, die gekauft werden
    fehlend : integer; //Anzahl der Bilder, die man noch nicht gesammelt hat
    i : integer; //Zählvariable

begin
  //Zufallsgenerator initialisieren
  randomize;

  //Startwerte setzen
  Tafeln := 0;
  fehlend := bilder_gesamt;
  //Zuerst müssen alle Bilder den Wert 0 haben
  for i := 0 to (bilder_gesamt - 1) do
    Bilder[i]:=0;

  //Verarbeitung: "Einkauf" Schleife
  while fehlend > 0 do
  begin
    Tafeln := Tafeln + 1;
    i := Random(bilder_gesamt);
    //Bild wird als gekauft "markiert"
    Bilder[i] := Bilder[i] + 1;
    //Wenn man das Bild hat, wird fehlend verringert
    IF Bilder[i] = 1 THEN
      fehlend := fehlend - 1;
  end;

  //Ausgabe
  lblAusgabe.Caption := 'Man muss ' + IntToStr(Tafeln) + ' Tafeln kaufen bis man alle Bilder gesammelt hat.';
end;
Jetzt muss man ja theoretisch aus den ganzen Werten, die man rausbekommt einen Mittelwert berechnen. Dafür muss man aber die ganze Prozedur öfters ausführen lassen. Wie kann man so etwas machen? Meine Idee wäre jetzt alles oben bei private reinzuschreiben und unten bei "procedure TForm1.Button1Click(Sender: TObject);" dann alles öfter hinzuschreiben. Ist aber sehr unsauber

Und natürlich bräuchte man eine neue Variable, sagen wir mal "Mittelwert". Man muss ja dann immer das Ergebnis bei Tafeln irgendwie zwischenspeichern und am Ende dann rechnen

Mittelwert = (Ergebnis1 + Ergebnis2 + Ergebnis3 + ...) / Anzahl Durchläufe

Wie realisiert man so etwas am besten ohne diese Ergebnis1 bis x ?

Mit freundlichen Grüßen
me2u

P.S. Ihr seid echt das geilste Delphi Forum, das ich kenne ! Ohne euch hätte ich das wahrscheinlich nicht gepackt. Aber jetzt ist mir ganz klar, was da oben beim Einkaufen der Schokolade passiert
  Mit Zitat antworten Zitat