Помощь - Поиск - Пользователи - Календарь
Полная версия: Использование Randomize
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
klem4
Почему x[i] моежт быть равно 65553 blink.gif ? random(10)-random(5) это ведь промежуток [-5,5] или нет
Код
uses crt;
const n=5;
var x,y,z:array[1..n] of single;
   i,j:integer;

Begin
  clrscr;
  randomize;
  writeln('X:');
  for i:=1 to n do
   begin
      x[i]:=random(10)-random(5);
      y[i]:=random(10);
      write(x[i]:2:0);
      ......
      ......
      [skipped]
      ......
klem4
Извеняюсь, самое большое, что он мне выдал - 65535
FreeMan
Это промежуток от [-4, 9]. А тип сингл оправдывает себя где-то в секции скиппд???
klem4
вот все что есть пока:

Код
uses crt;
const n=5;
var x,y,z:array[1..n] of single;
   i,j:integer;

Begin
  clrscr;
  randomize;
  writeln('X:');
  for i:=1 to n do
   begin
      x[i]:=random(10)-random(5);
      y[i]:=random(10);
      write(x[i]:2:0);
      write(' ');
   end;
   writeln;
   writeln('Y:');
   for i:=1 to n do
    begin
       write(y[i]:2:0);
       write(' ');
    end;
    readln;
    end.



Чушь какая-то значения элементов массива Y нормальные.
klem4
Если убрать -random(5) то все нормально, но вот почему так ?? blink.gif
klem4
Да , что-то где-то с типом нелады, с integer все нормально.
FreeMan
Учи типы ;)
Ozzя
Цитата
random(10)-random(5) это ведь промежуток [-5,5] или нет
Случайные числа от k до m вычисляются по формуле
Random(m-k)+k
klem4
Цитата(Ozzя @ 17.12.04 16:07)
Случайные числа от k до m вычисляются по формуле
Random(m-k)+k

Спасибо, я уже понял что там и как )))
SHnur
Цитата
Случайные числа от k до m вычисляются по формуле
Random(m-k)+k


А точнее Random(m-k+1)+k .
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.