Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Simulation 50:50 (https://www.delphipraxis.net/115445-simulation-50-50-a.html)

verwirrt 12. Jun 2008 08:06


Simulation 50:50
 
Hallo,

ich simuliere 50:50 Chance, das klappt auch per Random(2) (0 oder 1).

Nun möchte ich eine Statistik, die wiederholte Serien gleichen Ergebnisses aufzeigt.

Also: 0 - verloren, 1 - gewonnen

Bsp: 010110100010011110100000111011

2 mal gewonnen: 2
3 mal gewonnen: 1
4 mal gewonnen: 1
5 mal gewonnen: 0
...

längste Serie am Stück gewonnen: 4

Hat jemand eine Idee, wie man das hier einbauen kann:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i, Anzahl, Wert: Integer;
begin
  Anzahl:= StrToInt(Edit1.Text);
  for i:= 1 to Anzahl do
  begin
    Wert:= Rand;
    ...
  end;
end;
Danke schonmal...

Gruß

Phoenix 12. Jun 2008 08:54

Re: Simulation 50:50
 
Du brauchst ausserhalb der Schleife 3 weitere Variablen.
Die eine ist ein Array der Ergebnisse (Länge: Anzahl). Die Ergebnisse musst Du Dir ja irgendwo merken.

Die zweite ist ein Counter der aktuellen Serie. Den zählst Du um 1 hoch, wenn die gerade gezogene Zahl mit der letzten übereinstimmt, bzw. setzt ihn auf 0, wenn die gezogene Zahl nicht mit der vorherigen übereinstimmt.

Die dritte ist der Counter der längsten Serie. Immer, wenn Du den Counter der aktuellen Serie hochgezählt hast guckst Du, ob 2. größer ist als 3. Wenn ja, dann schreibst Du 2 in 3. Wenn nein halt nicht.

Somit hast Du in 3 immer die längste Serie abgelegt.

verwirrt 12. Jun 2008 09:28

Re: Simulation 50:50
 
Danke, funktioniert. Hätte nicht gedacht, dass Serien von über 20 Länge so üblich sind...


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:05 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz