In einem Experiment sollen die Zahlen von 1-16 (in genau dieser Reihenfolge) mittels eines Zufallgenerators erzeugt werden.
Es gibt insgesamt 16 Durchläufe. Im i-ten Durchlauf wird so lange eine Zufallszahl erzeugt, bis man die Zahl i erhält. Ein solcher Durchlaufwird per ButtonClick auf "Zufall berechnen"gestartet. Die dazu notwendige Anzahl der Versuche soll in ein Stringgrid der Größe 4x4 eingetragen werden. In einem zweiten Stringgrid (ebenfalls Größe 4x4) wird die Zahl i dargestellt.
Benutzt werden soll: randomize, random
Ich habe es selbst versucht aber da ich erst ein paar Tage damit zu tun habe komme ich nicht weiter. Wer kann mir helfen?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Versuche,Zufall :integer;
Begin
Versuche:=0;
repeat
inc(Versuche);
Zufall := random(16) + 1; // mindestens die Zahlen von 1-20, oder was meint Ihrt? Wie stellt man bis "unendlich" ein?
until Zufall = 1;
Stringgrid2.Cells[0,0]:=inttostr(Versuche);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
randomize;
Zufall:=random(16) + 1;
Versuche := 0;
end;
procedure TForm1.StringGrid1Click(Sender: TObject);
begin
Stringgrid1.Cells[0,0]:='1';
Stringgrid1.Cells[1,0]:='2';
Stringgrid1.Cells[2,0]:='3';
Stringgrid1.Cells[3,0]:='4';
Stringgrid1.Cells[0,1]:='5';
Stringgrid1.Cells[1,1]:='6';
Stringgrid1.Cells[2,1]:='7';
Stringgrid1.Cells[3,1]:='8';
Stringgrid1.Cells[0,2]:='9';
Stringgrid1.Cells[1,2]:='10';
Stringgrid1.Cells[2,2]:='11';
Stringgrid1.Cells[3,2]:='12';
Stringgrid1.Cells[0,3]:='13';
Stringgrid1.Cells[1,3]:='14';
Stringgrid1.Cells[2,3]:='15';
Stringgrid1.Cells[3,3]:='16';
end;
end.
[edit=alzaimar] Delphi-Tags eingefügt, Code ausgerichtet. Mfg, alzaimar[/edit]