Помощь - Поиск - Пользователи - Календарь
Полная версия: Файлы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
eugenek
сформировать типизированный файл целых чисел, получаемых с помощью датчика случайных чисел.
volvo
Поиск используй, это уже было...
eugenek
Так правильно?
      
Program Lab_46;
      Uses Crt;
      Var
        f: file of integer; {файл целого типа}
        r         :integer; {количество чисел вносимых в файл}
        l         :integer; {нижний диапазон}
        h         :integer; {верхний диапазон}
        i,j       : integer;
      begin
        clrscr;
        readln(r);
        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
Похоже на правду smile.gif только мне кажется, чтобы получить случайное число в интервале от left до right надо делать вот так :

rnd := left + random(right-left) + 1;


а у тебя полчается рандомное число от 0 до Right-left насколько я понимаю.
volvo
Цитата(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
Прошу прощения, я не смог отличить букву l от единички smile.gif))))) , у автора ведь тоже самое написано, только у меня еще + 1

значит надо вот так :
rnd := left + random(right-left+1);
eugenek
Цитата(volvo @ 24.08.05 18:22)
Не совсем... Надо делать вот так:
rnd := left + random(right-left+1);



Действительно..., спасибо, учту.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.