Losowanie spośród dwóch wartości

Odpowiedz Nowy wątek
Pulpet
2006-06-03 15:21
Pulpet
0

Witam. Jak w najprostszy sposób można wylosować jedną z dwóch wartości ? konkretnie chodzi to o 0 i 15. Nie wiem za bardzo jak to zrobić przy pomocy randoma. Próbowałem w sposób taki, że najpierw losowałem dowolną liczbę, a potem do x'a w zależności od tego czy był parzysty czy nie przypisywałem przy pomocy (if ... then ...) wartość o lub 15, ale to przekombinowane nieco jest i na pewno da się to zrobić łatwiej. Da się zrobić coś, żeby x:=random(jakieś dwie różne wartości) ?

Pozostało 580 znaków

2006-06-03 15:31

Rejestracja: 14 lat temu

Ostatnio: 8 lat temu

0
function Losuj: String;
var I:Integer;
begin
Randomize;
I:=Random(16);
if (I mod 2=0) then
I:=0
else
I:=15;
Result:=IntToStr(I);
end;
//i zastosowanie
Label1.Caption:=Losuj;

O to chodzi? :]

@down: napisz tak i zobacz działanie [rotfl] xD

Pozostało 580 znaków

Pulpet
2006-06-03 15:33
Pulpet
0

No właśnie tak zrobiłem. Nie da się łatwiej ? Bo najlepiej jakby to wszystko się zawierało w jednej operacji. Nie da się może zrobić czegoś w stylu x:=random (0 or 15) :-P ?

Pozostało 580 znaków

2006-06-03 15:40

Rejestracja: 16 lat temu

Ostatnio: 10 lat temu

0
liczba := round(random)*15

Samo random losuje liczbę z przedziału 0..1, po zaokrągleniu da 0 lub 1 przemnożone przez 15 da 0 lub 15.

Można też:

liczba := random(2)*15;

Pozostało 580 znaków

2006-06-03 15:44

Rejestracja: 16 lat temu

Ostatnio: 10 lat temu

0
x:=random(2)*15;

//Ach spóźniłem się :)


<font color="red">Konto porzucone</span>

Dzięki wszystkim forumowiczom za lata wspólnych dyskusji; miłej zabawy w programowanie!
Sławomir 'Szczawik' Włodkowski

Pozostało 580 znaków

2006-06-03 16:30

Rejestracja: 16 lat temu

Ostatnio: 7 lat temu

0

a jakbyś miał np 0, 15, 20 to

function Losuj: Integer;
const
  Tab: array[0..2] of integer = (0, 15, 20);
begin
  Result := Tab[Random(Length(Tab))];
end;

- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij

Pozostało 580 znaków

Odpowiedz

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