Компонент:Random генерирует случайные числа,но при этом некоторые из них повторяет.
А как сделать чтоб генерировались цифры от 1 до 20 и не повторялись?
Этот топик читают: Гость
Ответов: 902
Рейтинг: 27
|
|||
карма: 1 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 2 раз(а), последний 2021-06-19 14:52:46 |
|||
карма: 0 |
|
Ответов: 9906
Рейтинг: 351
|
|||
По разному можно:
1) проверять, и если уже есть, то повторить 2) равномерно перемешать исходную последовательность 1,2,3...20 |
|||
карма: 9 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 2 раз(а), последний 2021-06-19 14:52:46 |
|||
карма: 0 |
|
Ответов: 902
Рейтинг: 27
|
|||
Подскажите пожалуйста на примере,как сгенерировать случайные числа от 0 до 19 чтоб они не повторялись.
|
|||
карма: 1 |
|
Ответов: 9906
Рейтинг: 351
|
|||
juk писал(а): А это как?Это написать программу значит надо, которая делает: 1) Случайное число X в диапазоне 0..19 2) Меняет местами два элемента массива с индексами 0 и X 3) Случайное число X в диапазоне 1..19 4) Меняет местами два элемента массива с индексами 1 и X 5) Случайное число X в диапазоне 2..19 6) Меняет местами два элемента массива с индексами 2 и X .... 37) Случайное число X в диапазоне 18..19 38) Меняет местами два элемента массива с индексами 18 и X |
|||
карма: 9 |
|
Ответов: 902
Рейтинг: 27
|
|||
Круто!-А сколько компонентов Random понадобится?
Для каждого действия свой или можно обойтись одним? |
|||
карма: 1 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
можно немного проще:
- взять массив от 0 до 19 - ввести некоторый паметр качества N - в цикле N раз подряд генерить два случайных числа i1 и i2 - менять местами элементы исходного массива a[i1] и a[i2] при N > 30 уже должен получаться приемлемый результат |
|||
карма: 27 |
|
Ответов: 56
Рейтинг: 1
|
|||
code_1497.txt
|
|||
карма: 1 |
| ||
файлы: 1 | code_1497.txt [1.4KB] [265] |
Ответов: 9906
Рейтинг: 351
|
|||
Dilma, это некорректное решение.
Статистически Мое - корректное. Кстати, если кидать сл.число не в i..N, в 0..N - тоже станет некорректным Специально ПРОВЕРЯЛ На форуме где-то даже и схема проверки этой статистики лежит... |
|||
карма: 9 |
|
Ответов: 902
Рейтинг: 27
|
|||
aaa_gadag,то что надо.
Всем спасибо,буду разбираться. |
|||
карма: 1 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Dilma, глядя на схему aaa_gadag-а, начинаю сомневаться:
может зря мы "антикольцевателей" налепили |
|||
карма: 9 |
|
Ответов: 902
Рейтинг: 27
|
|||
aaa_gadag, А нельзя ли сделать так,чтоб каждый раз отсчёт начинался с разных цифр,а не с 16?
|
|||
карма: 1 |
|
Ответов: 9906
Рейтинг: 351
|
|||
!Random!
|
|||
карма: 9 |
|
Ответов: 56
Рейтинг: 1
|
|||
code_1503.txt
|
|||
карма: 1 |
| ||
файлы: 1 | code_1503.txt [1.5KB] [293] |