ProProgramer napisał(a)
Dlaczego losują mi się same zera?
Twój stary kod wrzucony przez @Endrju na ideone na wyjściu dawał same zera; Nie zagłębiałem się w tamten kod, ale ten podany przez @_13th_Dragon działa w pełni pod Borland Delphi 7; Na FPC także powinien działać, więc zmień kompilator na jakiś sensowny i przetestuj;
Nie rozumiem dlaczego Ci nie działa... Jedyny bląd jaki mi wyszedł to Runtime Error 105 w BD7, ale nie dodałem klauzuli {$APPTYPE CONSOLE}
; Poza tym sprawdziłem i działa w pełni; Oczywiście liczby często się powtarzają, ale nie ma przecież zaimplementowanego zabezpieczenia przed tym; Tak więc kod @_13th_Dragon działa jak należy; Z ciekawości przetestowałem archaiczny kompilator TP7 i także działa bez problemów; Oto działający kod:
program Los;
uses
Crt;
const
aNum: array [0 .. 19] of Byte = (1, 2, 3, 4, 5,
6, 7, 8, 9, 10,
11, 12, 13, 14, 15,
16, 17, 18, 19, 20);
var
I: Byte;
begin
ClrScr;
Randomize;
for I := 0 to 9 do
WriteLn('Los nr ', I, ': ', aNum[Random(20)]);
ReadLn;
end.
Przykładowe wyjście:
Los nr 0: 13
Los nr 1: 4
Los nr 2: 15
Los nr 3: 2
Los nr 4: 5
Los nr 5: 18
Los nr 6: 2
Los nr 7: 14
Los nr 8: 17
Los nr 9: 3
U mnie wszystko gra, założe się, że pod FPC także wszystko będzie śmigać; Nie mam jednak zielonego pojęcia dlaczego u Ciebie są wciąż problemy...