Подскажите пожалуйста, возможно ли сгенерировать числа от 0...n в случайном порядке, но так, чтобы они не повторялись? Например, от 0 до 10: 5 1 8 2 9 3 10 7 4 6 и т.п.
Если возможно, то подскажите как?
Заранее спасибо!
-----------------
P.S. Извините, за то что столько дублей создал, вышло случайно....
А почему - не повторялись? Если они заведомо не будут повторяться, то к ближе к концу последовательности они не будут уже истинно случайными, разве нет?
Ну, а так - смотри функцию random_shuffle().
Дело в том, что необходимо реализовать задачу перестановки символов в строке случайным порядком.
Допустим если строка из 14 символов, генерируются случайным образом числа от 0 до 14 и заносятся в массив. Тогда если нулевым элементом массива является цифра 5, то нулевой символ строки меняется местом с 5м символом этой же строки и т.д. Соответственно по этому нужно чтобы сгенерировалось 14 чисел от 0 до 14 и чтобы были все числа, т.е. небыло повторов, т.к. в противном случае не все символы строки будут перемешаны.
Не пойму... компилятор ругается: error: 'random_shuffle' was not declared in this scope
Странно, почему? Вроде инклуд algorithm сделал.
Может его как-то еще объявить надо?
Точно! Оно самое, забыл std Огромное спасибо!
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)