Ĺadny brzuch
Witam! Napisałem sobie taki program:
randomize; l:=random(100); if wylosowana[l]=true then begin while wylosowana[l]=true do begin randomize; l:=random(100); wylosowana[l]:=true; memo1.Lines.Add(floattostr(l)) end end else wylosowana[l]:=true; memo1.Lines.Add(floattostr(l));
Mój program losuje kilka początkowcy liczb i potem losuje nastepne bardzo długo i się wiesza. Jak mogę napisać procedure, która zapobiega losowaniu tych samych liczb??
if wylosowana = true...
Dalej w tej procedurze masz losowanie, a niekoniecznie musisz mieć, bo możesz dalaje zrobić,że wylosowana:=wylosowana+1
Wtedy na pewno trafisz nie wylosowaną. Trzeba jeszcze napisać warunek przejścia na początek tablicy.
http://forum.ks-eksp...69& hl=losowanie
if wylosowana = true...
Dalej w tej procedurze masz losowanie, a niekoniecznie musisz mieć, bo możesz dalaje zrobić,że wylosowana:=wylosowana+1
Wtedy na pewno trafisz nie wylosowaną. Trzeba jeszcze napisać warunek przejścia na początek tablicy
to znaczy jak??
mógłbys mi podać zmieniony kod mojej procedury??
http://forum.ks-eksp...69&hl=losowanie
a nie dało by sie przeksałcic mojej procedury
tab : array [0..200] of bool; wylosowana:integer; implementation {$R *.dfm} procedure TForm1.Losuj; begin randomize; wylosowana:=random(100); end; procedure TForm1.Button1Click(Sender: TObject); begin Losuj; if tab[wylosowana]=false then begin tab[wylosowana]:= true; memo1.lines.add(inttostr(wylosowana)); end else losuj; end;
z tej procedury program długo losuje ostatnich klika liczb
Użytkownik kk1991 edytował ten post 15 listopad 2005, 15:22
randomize; l:=random(100); while wylosowana[l]=true do begin l:=l+1; if l>100 then begin l:=1; end end; wylosowana[l]:=true; memo1.Lines.Add(floattostr(l));
Zakładam, że tablica numerowana jest od 1 do 100, a nie od 0 do 99.
Użytkownik chodnik edytował ten post 15 listopad 2005, 15:30
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
randomize; l:=random(100); if wylosowana[l]=true then begin while wylosowana[l]=true do begin randomize; l:=random(100); wylosowana[l]:=true; memo1.Lines.Add(floattostr(l)) end end else wylosowana[l]:=true; memo1.Lines.Add(floattostr(l));
Mój program losuje kilka początkowcy liczb i potem losuje nastepne bardzo długo i się wiesza. Jak mogę napisać procedure, która zapobiega losowaniu tych samych liczb??
if wylosowana = true...
Dalej w tej procedurze masz losowanie, a niekoniecznie musisz mieć, bo możesz dalaje zrobić,że wylosowana:=wylosowana+1
Wtedy na pewno trafisz nie wylosowaną. Trzeba jeszcze napisać warunek przejścia na początek tablicy.
http://forum.ks-eksp...69& hl=losowanie
if wylosowana = true...
Dalej w tej procedurze masz losowanie, a niekoniecznie musisz mieć, bo możesz dalaje zrobić,że wylosowana:=wylosowana+1
Wtedy na pewno trafisz nie wylosowaną. Trzeba jeszcze napisać warunek przejścia na początek tablicy
to znaczy jak??
mógłbys mi podać zmieniony kod mojej procedury??
http://forum.ks-eksp...69&hl=losowanie
a nie dało by sie przeksałcic mojej procedury
tab : array [0..200] of bool; wylosowana:integer; implementation {$R *.dfm} procedure TForm1.Losuj; begin randomize; wylosowana:=random(100); end; procedure TForm1.Button1Click(Sender: TObject); begin Losuj; if tab[wylosowana]=false then begin tab[wylosowana]:= true; memo1.lines.add(inttostr(wylosowana)); end else losuj; end;
z tej procedury program długo losuje ostatnich klika liczb
Użytkownik kk1991 edytował ten post 15 listopad 2005, 15:22
randomize; l:=random(100); while wylosowana[l]=true do begin l:=l+1; if l>100 then begin l:=1; end end; wylosowana[l]:=true; memo1.Lines.Add(floattostr(l));
Zakładam, że tablica numerowana jest od 1 do 100, a nie od 0 do 99.
Użytkownik chodnik edytował ten post 15 listopad 2005, 15:30