Procedura random większe od drugiej wartośći

0

Witam.
Nie wiem jak użyć procedury random z założeniem, że jedna liczba ma być większa od drugiej.

  g1 := Random(50)+1;
  g2 := Random(50)+1;

Założenie ma być g1<g2.

0

Można pomyśleć i zrobić np.tak:

g1 := Random(50)+1;
g2 := Random(50)+1;
while g2<g1 do
 g2 := Random(50)+1;

Lub tak:

g1 := Random(50)+1;
g2 := g1+Random(50-g1)+1;

Cd.drugiego, to nie jestem pewien, ale powinien działać.

0
g2 := g1 + Random(50) + 1;

A tak da radę? Do wylosowanej poprzednio dodaję nową z przedziału 0-50 (Random od 0 chyba losuje jak pamiętam).

@Patryk, ten twój drugi przypisze g2 = 51 jeżeli g1 wylosuje się 50, czyli da tylko o 1 większe, a autorowi chodziło o to, żeby wylosował większą od g1, ale dalej z przedziału 0-50. Do końca nie wiem ;p

0

Jak odrzucasz liczby które są równe to możesz po prostu wylosować dwie liczby i jak druga jest mniejsza to je zamień. Jeżeli natomiast druga liczba jest równa pierwszej to powtórz drugie losowanie.

edit: Pomysł Patryka jest zły, ponieważ np. para 49,50 będzie losowana 40 razy częściej, niż para 10,11.

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