Массив: как сделать так, чтобы рандомно выбирались только те элементы массива, которые не были выбраны раньше? - Free Pascal

Узнай цену своей работы

Формулировка задачи:

В общем, из массива рандомно выбирается элемент, как сделать так, чтобы выбирались только те, которые не были выбраны раньше? Можно это сделать без дополнительного массива и чтобы памяти поменьше занимало? Уже должно было много раз обсуждаться, но видимо я не умею искать.

Решение задачи: «Массив: как сделать так, чтобы рандомно выбирались только те элементы массива, которые не были выбраны раньше?»

textual
Листинг программы
var
  ind: packed array[{здесь укажите размерность как у целевого массива}] of boolean;

Объяснение кода листинга программы

  1. Создается булев массив ind с заданной размерностью.
  2. Заполняется массив ind значениями true.
  3. Создается цикл, который будет выполняться, пока не будет достигнуто требуемое количество выборок.
  4. В каждой итерации цикла выбирается случайный индекс элемента массива ind.
  5. Если значение элемента с выбранным индексом равно true, то этот элемент помечается как выбранный, устанавливая его значение в false.
  6. Если значение элемента с выбранным индексом уже равно false, то происходит переход к следующей итерации цикла.
  7. После завершения цикла, все элементы массива ind, которые остались со значением true, считаются выбранными.
  8. Выводится информация о выбранных элементах массива ind.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.222 из 5
Похожие ответы