Topic: Random
Ув. Дмитирий.
Trunc(Random*10) выдает нам числа от 0 до 10.
1. Как сделать чтобы не было числа 0?
2. Как сделать чтобы Random не повторял те же числа что была уже выдана? Т.е. один раз если уже выдал 3 то на следующем не повторялся.
My Visual Database → Russian → Random
Ув. Дмитирий.
Trunc(Random*10) выдает нам числа от 0 до 10.
1. Как сделать чтобы не было числа 0?
2. Как сделать чтобы Random не повторял те же числа что была уже выдана? Т.е. один раз если уже выдал 3 то на следующем не повторялся.
Примерно так:
var x,y: integer=0;
.......
repeat
while x = y do y:=Trunc(Random*10);
x:=y;
until x <> 0;
будет выдавать случайные не повторяющиеся числа от 1 до 9, если нужно до 10, то умножать на 11: Trunc(Random*11)
Спасибо. У меня вот такой скрипт, как там это прикрутить?
procedure form2_Button5_OnClick (Sender: TObject; var Cancel: boolean);
begin
form2.Edit1.Value:= Trunc(Random*10);
end;
В самом начале кода вставить:
var x,y: integer=0;
если слово var уже есть, то повторять не надо, просто вставить x,y: integer=0;, и если переменные x, y уже есть нужно выбрать другие имена
procedure form2_Button5_OnClick (Sender: TObject; var Cancel: boolean);
begin
repeat
while x = y do y:=Trunc(Random*10);
x:=y;
until x <> 0;
form2.Edit1.Value:= x;
end;
не получается
My Visual Database → Russian → Random
Powered by PunBB, supported by Informer Technologies, Inc.
Theme Hydrogen by Kushi