функция рандом
Автор DeniTornado задал вопрос в разделе Другие языки и технологии
Функция Random() в Delphi и получил лучший ответ
Ответ от Jurii[гуру]
Во-первых: к цифрам относятся только однозначные числа!
Двузначные − это уже числа…
Во-вторых: заведи множество и полученные числа проверяй на вхождение в множество, если − нет, то бери число и выводи, и добавляй во множество.
Инициализация случайных чисел: Randomize
Замечание: использовать только 1 раз перед циклом заполнения!
Ответ от Дмитрий Милехин[мастер]
Тут дело не в дэлфи, это особенность генератора псевдослучайных чисел. Я с этим боролся вводя проверку выдаваемых значений на повторяемость. По другому, похоже, никак.
Тут дело не в дэлфи, это особенность генератора псевдослучайных чисел. Я с этим боролся вводя проверку выдаваемых значений на повторяемость. По другому, похоже, никак.
Ответ от Jurijus Zaksas[гуру]
Никак, Random генерирует число в заданном диапазоне и все. Если хочешь без повторений - используй какой-нибудь соотв. алгоритм, например - заполни массив подряд и выбирай из него случайно числа: for j:=1 to 100 do a[j]:=j; for j:=100 downto 1 do begin k:=RandomRange(1,j); Comb:=Comb+'|'+IntToStr(a[k]); for x:=k to j-1 do a[x]:=a[x+1]; end;
Никак, Random генерирует число в заданном диапазоне и все. Если хочешь без повторений - используй какой-нибудь соотв. алгоритм, например - заполни массив подряд и выбирай из него случайно числа: for j:=1 to 100 do a[j]:=j; for j:=100 downto 1 do begin k:=RandomRange(1,j); Comb:=Comb+'|'+IntToStr(a[k]); for x:=k to j-1 do a[x]:=a[x+1]; end;
Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Функция Random() в Delphi