Рандом без повторения C++
Мне нужно сделать так, чтобы выдавалось определённое количество рандомных чисел, только сделать это таким образом, чтобы если например уже выпадало число 2, и оно выпало заново, в таком случае нужно сделать другое рандомное число, и делать его до того момента, пока оно не будет отличаться от всех которые уже были сгенерированы.
Делаешь массив для сгенерированных чисел.
Генерируешь число. Если оно есть в массиве то повторяешь генерацию (циклом while можно). Когда нашел неповторяющееся число добавляешь его в массив.
создал булеву переменную и устанавливаешь бит - номер бита это выпавшее число. Если такое уже установлено берешь любое соседнее, чтобы быстрее работало
Что нужно получить в итоге? Набор различных случайных чисел из некоего дискретного множества или континуального диапазона? Так сразу и надо генерировать кортеж с уникальными элементами в соответствии с заданной функцией распределения вероятностей, например, равномерной по всему множеству уникальных кортежей в заданном диапазоне, причём с функцией распределения вероятностей как раз для кортежей как для декартового произведения их элементов, а не для самих элементов! Если самому ума не хватит, то в Си и Плюсах для этого есть спецбиблиотеки. ʘ‿ʘ