Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 22.10.2018, 13:34   #11
IliaIT
Участник клуба
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 951
Репутация: 508
По умолчанию

в этой связке массив не перемешается. то еть всегда будет один и тот же.
надо отвязывать Randomize; от последующего вызова Random. иначе это псевдослучайное число всегда будет выдавать одну и ту же последовательность. тоесть часть перемешать надо ставить по первому клику пользователя куда либо. тогда значение времени между Randomize; и Random. будет разное, и как следствие другая последовательность.
Насколько я помню формула рандомногого числа имеет вид Линейный конгруэнтный генератор в котором X(n+1)= ( a*Xn + c ) mod m где Randomize задаёт X0 а коэффициенты всегда равны a=22695477 c=1 m=2^32. Причём последнее вроде как меняется либо от него берётся линейная зависимость для результата. так как на конкретной машине всегда процедура выполняется одно и то же время то и случайные числа будут одними и теми же.

p.s. ой чего то меня понесло.... похмелье... ладно не буду стирать пост , пусть висит.
__________________
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.

Последний раз редактировалось IliaIT; 22.10.2018 в 13:36. Причина: брякнул не подумавши.
IliaIT вне форума   Ответить с цитированием
Старый 22.10.2018, 13:37   #12
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,511
Репутация: 5308
По умолчанию

Цитата:
Сообщение от IliaIT Посмотреть сообщение
в этой связке массив не перемешается. то еть всегда будет один и тот же.
простите, это к какому из сообщений комментарий?
Serge_Bliznykov на форуме   Ответить с цитированием
Старый 22.10.2018, 14:12   #13
jillitil
Пользователь
 
Аватар для jillitil
 
Регистрация: 17.10.2018
Адрес: DS:SI
Сообщений: 46
Репутация: 130
По умолчанию

Цитата:
Сообщение от Amilman Посмотреть сообщение
...всегда получаются двухзначные:26,28,30,31,35,37,38,39 ,42,45,46,47,48,49,50,52,54,57
И вопросы у которых id от 1..9 не выпадают и еще на 15 вопрос всегда выпадает id 57
Ничего не знаю, у меня работает .
Нюанс этого подхода номера будут отсортированы в возрастающем порядке, но ограничены до 256.
Изображения
Тип файла: jpg screenshot.2.jpg (33.7 Кб, 16 просмотров)
jillitil вне форума   Ответить с цитированием
Старый 22.10.2018, 16:35   #14
IliaIT
Участник клуба
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 951
Репутация: 508
По умолчанию

фиг знает почему но у меня одни и те же числа в последовательности. может делфи старая...
Код:

var
  a:set of byte ;
  j:Byte;
begin
  a:=[1..75];
  Label1.Caption:=DateTimeToStr(now);
  Randomize;
  repeat
    j:=Random(75);
    if j in a  then
    begin
      a:=a-[j];
    Memo1.Lines.Add(IntToStr(j));
    end;
  until (Memo1.Lines.Count>17);
end;

__________________
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.
IliaIT вне форума   Ответить с цитированием
Старый 22.10.2018, 16:43   #15
evg_m
Профессионал
 
Регистрация: 20.04.2008
Сообщений: 4,745
Репутация: 2097
По умолчанию

Код:

a:=[1..75];
memo1.Lines.Clear;
repeat
...
until (Memo1.Lines.count>17);

__________________
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума   Ответить с цитированием
Старый 22.10.2018, 17:23   #16
jillitil
Пользователь
 
Аватар для jillitil
 
Регистрация: 17.10.2018
Адрес: DS:SI
Сообщений: 46
Репутация: 130
По умолчанию

Цитата:
Сообщение от IliaIT Посмотреть сообщение
...у меня одни и те же числа в последовательности. может делфи старая...
Ну не знаю, видимо где-то у Вас косяк.
1) Вообще рандомайз лучше вынести в главный модуль ДПР, а не дёргать каждый раз при щелчке мыши.
2) У Вас косяк с ф-й рандом. Она выдаёт значения в диапазоне [0..n), тобишь и последнее вы не получите и нулевое будет бесполезно.
3) Грешить на старый дельф ещё тот аяйай.
Изображения
Тип файла: png bp_002.png (5.9 Кб, 13 просмотров)
Тип файла: png bp_001.png (3.4 Кб, 14 просмотров)
Тип файла: jpg screenshot.3.jpg (19.0 Кб, 14 просмотров)
jillitil вне форума   Ответить с цитированием
Старый 22.10.2018, 17:30   #17
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,511
Репутация: 5308
По умолчанию

Цитата:
Сообщение от jillitil Посмотреть сообщение
Ну не знаю, видимо где-то у Вас косяк.
уже evg_m ответил, в чём косяк. см. пост выше
Serge_Bliznykov на форуме   Ответить с цитированием
Старый 22.10.2018, 18:04   #18
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,005
Репутация: 6348
По умолчанию

Способ с множеством хорош пока относительно небольшой процент чисел выбирается. Чем больше будет количество выбираемых чисел, тем более он будет тормозной
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар на форуме   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Записать в файл последовательного доступа N натуральных чисел: a1, a2, ... аn (числа получить с помощью генератора случайных чисел Casillas1 Помощь студентам 15 15.05.2014 11:41
5.Создать файл из 100 целых чисел, лежащих на отрезке [150,9000], используя генератор случайных чисел. -Вывести эти viktoriya95 Паскаль 0 21.02.2014 22:36
Реализовать генератор случайных чисел, ассемблер Pusher Assembler 2 24.08.2010 00:12
как задать диапазон для случайных чисел Аlex Assembler 0 07.05.2010 03:18
Генерация случайных дат из диапазона, как реализовать? antoha73 Общие вопросы Delphi 7 24.03.2010 08:15


18:41.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru