Also:
Ich habe ien Programm geschrieben, dass die Randomfunktino auf ihre zufälligkeit untersucht.
Nun gebe ich ein, wie oft "gewürfelt" werden soll, und er gibt mir eben aus, wie oft die Zahlen vono 0-9 vorkommen.
Eingabe per edit, ausgabe per Stringgrid miti folgenden Eigenschaften:
ColCount:=3;
RowCount:=11;
FixedCols:=1;
FixedRows:=1;
Um die Funtkoni Random zu testen, verwende ich folgende PRocedure:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| procedure TForm1.BtnStartClick(Sender: TObject); var i,zahl:integer; begin for i:=0 to 9 do auswertung[i]:=0; max:=strtoint(edit1.text); if (max>0) then begin for i:=1 to max do begin zahl:=random(10); auswertung[zahl]:=auswertung[zahl]+1; end; Anzeige; end; end; |
Die AnzeigeProceduer sieht so aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.Anzeige;var i:integer; begin for i:=0 to 9 do begin stringgrid1.cells[1,i+1]:=inttostr(auswertung[i]); if not(i>8) then stringgrid1.cells[2,i+1]:=floattostrF(auswertung[i]/max*100,fffixed,18,2)+'%'; end; stringgrid1.cells[1,10]:=edit1.text; end; |
Nun ist bei mir das Problem, dass er zb, wenn ich Anzahl der Durchläufe auf zb. auf 11 setzte, dass er dann mal in der Gesamtzahl der absoluten Häufigkeit 10 Würfe anzeig,t mal 11, dann mal neun usw......
seht ihr einen Fehler in den Procedures?? ich sehen (leider) keinen!
Danke euch!
EDIT: habe mir auch schon i in der Obersten schleife ausgeben lassen, die zählt immer shcön bis max, wie sie es soll....ich verzweifle!