Entwickler-Ecke

Sonstiges (Delphi) - Darstellung eines Zufallsversuchs in einer Paintbox


Takumi - Mi 09.03.05 13:32
Titel: Darstellung eines Zufallsversuchs in einer Paintbox
Guten Tag,

ich hab eine Frage bzw. ein Problem.
Und zwar soll ich ein Programm schreiben das einen Zufallsversuch beschreibt (z.B. Würfeln) und die Ergebnisse sollen wir dann in einem Balkendiagramm darstellen, klingt relativ einfach, blos derzeit fehlt mir ein Befehl wie ich die Anzahl der verschiedenen Zufallszahlen (also 6) herausfinde bzw.

z.B.

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
for k:= 0 to 100 do 
begin
  m:= random(6);
  if m = 1 then 
  rectangle(20,380,80,380-(m));
end
end;

so sieht derzeit die Idee aus, das problem ist wie gesagt das er nur einmal die 1 dann darstellt. Und meine Frage wäre:
Wie kriege ich die gesamte Anzahl der gefallenen "Einsen" raus?

Bitte um Hilfe

Mit freundlichen Grüßen,

Takumi

Moderiert von user profile iconGausi: Delphi-Tags hinzugefügt.


Gausi - Mi 09.03.05 13:48
Titel: Re: Darstellung eines Zufallsversuchs in einer Paintbox
Dafür musst du zählen, wie oft die 1 gewürfelt wurde.

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
zaehler1:=0;
for k:= 0 to 100 do 
begin
  m:= random(6)+1;
  if m = 1 then 
  inc(zaehler1);
end
rectangle(20,380,80,380-(zaehler1));
end;

btw.: random(6); liefert Werte zwischen 0 und 5. Zum Würfeln muss man dann 1 addieren.


Takumi - Mi 09.03.05 13:55

funktioniert einwandfrei,

vielen dank für die hilfe :-)


himitsu - Mi 09.03.05 14:39

Wenn du alle Ergebnisse zählen willst, dann bietet sich ein nettes Array dafür an.

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
var zaehler: array[1..6of integer;
begin
  for k := 1 to 6 do  
    zaehler[k] := 0
  //for k := 0 to 100 do 
  //begin
  //  m := random(6) + 1;
  //  inc(zaehler[m]);
  //end;
  for k := 0 to 100 do 
    inc(zaehler[random(6) + 1]); 
  for k := 1 to 6 do  
    rectangle(k * 50 + 10380 - zaehler[k], k * 50 + 40380);
end;