Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Для новичков > список со случайными неповторяющимися числами |
Автор: bagos 2.8.2009, 16:45 | ||
Поставил задачу, получить список из случайных не повторяющихся чисел. Вот что получилось, вроде работает, но один раз из 10-15 получается список с двумя одинаковыми четверками, что за бред не пойму. Помогите плиз разобраться!
|
Автор: VanHelsing 2.8.2009, 17:12 | ||
Забыл давно такое не делал. Решил вспомнить:
Сделал вот так. Да действительно бывают совпадения. Бывает даже что три одинаковых числа. Идеи следующие: либо увеличить диапазон генерируемых чисел, либо при каждой генерации делать проверку, есть ли уже такое число или нет. |
Автор: Keeper89 2.8.2009, 19:08 | ||
|
Автор: MetalFan 3.8.2009, 21:54 |
предлагаю еще один алгоритм) подойдет для генерации не повторяющихся чисел в опр.диапазоне. 1. заполняем массив от 1 до N 2. проходимся от 1 до N меняя i-тый элемент на j-тый(случайно выбранный). тем самым не понадобится делать небыстрый поиск в несортированном списке уже сгенеренных значений. |
Автор: Qu1nt 5.8.2009, 14:15 | ||
Можно так ![]()
|
Автор: MetalFan 5.8.2009, 14:31 |
Qu1nt, во, это я и имел ввиду. т.е. не генерация списка случайных чисел, а перемешивание последовательности. |