сформировать типизированный файл целых чисел, получаемых с помощью датчика случайных чисел.
volvo
21.08.2005 19:10
Поиск используй, это уже было...
eugenek
21.08.2005 19:48
Так правильно?
Program Lab_46; Uses Crt; Var f: file of integer; {файл целого типа} r :integer; {количество чисел вносимых в файл} l :integer; {нижний диапазон} h :integer; {верхний диапазон} i,j : integer; begin clrscr; readln®; readln(l); readln(h); assign(f, 'f_int.plb'); rewrite(f); randomize; for i:=1 to r do begin j:=(random(h-l))+l; write(f,j); end;
close(f);
end.
klem4
24.08.2005 21:11
Похоже на правду только мне кажется, чтобы получить случайное число в интервале от left до right надо делать вот так :
rnd := left + random(right-left) + 1;
а у тебя полчается рандомное число от 0 до Right-left насколько я понимаю.
volvo
24.08.2005 22:22
Цитата(klem4 @ 24.08.05 17:11)
мне кажется, чтобы получить случайное число в интервале от left до right надо делать вот так :
rnd := left + random(right-left) + 1;
Не совсем... Надо делать вот так:
rnd := left + random(right-left+1);
Посмотри например, как делать число в интервале 2 .. 9 ? Нужно
Цитата
2 + Random(8)
, а не
Цитата
2 + Random(7) + 1
... При твоем способе получится число из интервала (left+1) .. right, число left ты уже не получишь...
Цитата(klem4 @ 24.08.05 17:11)
а у тебя полчается рандомное число от 0 до Right-left насколько я понимаю.
:no: Получался интервал left .. (right-1)
klem4
24.08.2005 22:26
Прошу прощения, я не смог отличить букву l от единички ))))) , у автора ведь тоже самое написано, только у меня еще + 1
значит надо вот так :
rnd := left + random(right-left+1);
eugenek
24.08.2005 23:46
Цитата(volvo @ 24.08.05 18:22)
Не совсем... Надо делать вот так:
rnd := left + random(right-left+1);
Действительно..., спасибо, учту.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.