Я хотел бы сделать генератор чисел, который не повторяет номер, который он выдал уже (C++).Генератор случайных чисел, не повторяющийся
Все, что я знаю:
int randomgenerator(){
int random;
srand(time(0));
random = rand()%11;
return(random);
} // Added this on edition
Эта функция дает мне лишние цифры.
Я пытаюсь создать программу анкеты, которая выдает 10 вопросов в случайном порядке, и я не хочу, чтобы какие-либо вопросы появлялись снова.
Кто-нибудь знает синтаксис?
Если ваш генератор случайных чисел не может повториться, он теряет важный аспект случайности. Если кто-то знает период, их точность догадок возрастает по мере приближения к концу периода, со 100% -ной уверенностью в последнем предположении. – corsiKa
srand() должен запускаться ** ONCE ** и только один раз при запуске программы. –
Вы можете просто сохранить как int последнее значение, а если новое значение равно последнему, добавьте случайное число от 1 до максимального значения, которое вы хотите, за вычетом полученного вами номера. Вы можете сделать это просто с помощью модуля, и это скорее более случайный-y, чем просто использование rand() :) –