Массив: как сделать так, чтобы рандомно выбирались только те элементы массива, которые не были выбраны раньше? - Free Pascal
Формулировка задачи:
В общем, из массива рандомно выбирается элемент, как сделать так, чтобы выбирались только те, которые не были выбраны раньше? Можно это сделать без дополнительного массива и чтобы памяти поменьше занимало? Уже должно было много раз обсуждаться, но видимо я не умею искать.
Решение задачи: «Массив: как сделать так, чтобы рандомно выбирались только те элементы массива, которые не были выбраны раньше?»
textual
Листинг программы
var ind: packed array[{здесь укажите размерность как у целевого массива}] of boolean;
Объяснение кода листинга программы
- Создается булев массив ind с заданной размерностью.
- Заполняется массив ind значениями true.
- Создается цикл, который будет выполняться, пока не будет достигнуто требуемое количество выборок.
- В каждой итерации цикла выбирается случайный индекс элемента массива ind.
- Если значение элемента с выбранным индексом равно true, то этот элемент помечается как выбранный, устанавливая его значение в false.
- Если значение элемента с выбранным индексом уже равно false, то происходит переход к следующей итерации цикла.
- После завершения цикла, все элементы массива ind, которые остались со значением true, считаются выбранными.
- Выводится информация о выбранных элементах массива ind.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д