Problem z losowaniem...

0

Witam
Mam taki problemik:
Losuje sobie np. 3 liczby z przedzialu 1-40.
Ale czasami te 3 liczby moga być takie same!! Albo przynajmniej dwie z nich.
Jak zrobić tak, żeby losowało każdą liczbę inną od pozostałych dwóch?

pozdr.
KONRADCZE

0

Randomize;

no i warunek sprawdzający czy dane liczby nie są już wylosowane

0

Wiem ze Randomize;
Ale chodzi o to, żeby nie losowało trzech lub dwóch identycznych liczb...

no i warunek sprawdzający czy dane liczby nie są już wylosowane

Nio i wlasnie jak ten warunek zapisac :-8 :-8 :-8

0

ehh - podobny temat był poruszany wiele razy - i można to zrobić na wiele różnych sposobów - poszukaj..

0

Nio i wlasnie jak ten warunek zapisac :-8 :-8 :-8

np liczby dodajesz do tablicy, a następnie sprawdzasz każdy index

0
procedure Losuj(Ile:byte;Var Zm:array of integer);
var Tab:array of Integer;
    i,ii:integer;
    Juz:boolean;
begin
  SetLength(Tab,Ile);
  randomize;
  for i:=0 to ile do
  repeat
    Zm[i]:=Random(40)+1;
    Tab[i]:=Zm[i]
    juz:=true;
    for ii:=0 to Ile do if Zm[i]=Tab[ii] then Juz:=false;
  until Juz;
end;

Powinno działać ;-),ale nie wiem bo nie testowałem :d

1 użytkowników online, w tym zalogowanych: 0, gości: 1