Autor Beitrag
Takumi
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mi 09.03.05 13:32 
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.
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8553
Erhaltene Danke: 479

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 09.03.05 13:48 
Dafür musst du zählen, wie oft die 1 gewürfelt wurde.
ausblenden 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.

_________________
We are, we were and will not be.
Takumi Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mi 09.03.05 13:55 
funktioniert einwandfrei,

vielen dank für die hilfe :-)
himitsu
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 40



BeitragVerfasst: Mi 09.03.05 14:39 
Wenn du alle Ergebnisse zählen willst, dann bietet sich ein nettes Array dafür an.
ausblenden 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;

_________________
warum einfach wenn's auch kompliziert geht
schreib wie du willst und halt dich an keine standards