forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Delphi (http://forum.boolean.name/forumdisplay.php?f=66)
-   -   Random без повторений! (http://forum.boolean.name/showthread.php?t=13368)

JACUK 17.09.2010 23:09

Random без повторений!
 
Вот например такой кусочек кода
Randomize;
r:=random(9)+1;
как сделать так чтобы когда вызываеш строчку с непосредственным рандомом девят раз(например в цикле), то r ни разу не повторился?!

baton4ik 17.09.2010 23:16

Ответ: Random без повторений!
 
Делай каждый раз проверку, не равен ли результат какому-либо из уже полученных и, если равен, вызывай ещё раз

JACUK 17.09.2010 23:26

Ответ: Random без повторений!
 
пробовал! и в масив запихивать и создавать строку, а из нее масив и проверять-нивкакую! напиши если не трудно примерчик!

impersonalis 17.09.2010 23:30

Ответ: Random без повторений!
 
возможно это:
http://forum.boolean.name/showthread.php?t=12687
для числовго массива возвращемых занчений

baton4ik 17.09.2010 23:47

Ответ: Random без повторений!
 
Цитата:

Сообщение от JACUK (Сообщение 162473)
пробовал! и в масив запихивать и создавать строку, а из нее масив и проверять-нивкакую! напиши если не трудно примерчик!

На дельфи не программирую. Просмотри код, у тебя где-то какая-то ошибка. Может перепутал какое-то название. Вот абстрактно:

var digits:array of integer;
i:integer;
r,t:integer;
variable:boolean;

{...}

For i=1 to i=9 do
begin
Repeat
variable:=false;
r:=random(9)+1;
for t=1 to 9 do if r=digits[t] then varialbe:=true
Until variable=false
digits[i]:=r;
end;


Часовой пояс GMT +4, время: 17:07.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot