Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: [C++] Генерация случайных чисел
Форум на CrossPlatform.RU > Разработка > С\С++
++Norton++
Подскажите пожалуйста, возможно ли сгенерировать числа от 0...n в случайном порядке, но так, чтобы они не повторялись? Например, от 0 до 10: 5 1 8 2 9 3 10 7 4 6 и т.п.
Если возможно, то подскажите как?
Заранее спасибо!
-----------------
P.S. Извините, за то что столько дублей создал, вышло случайно....
Влад
А почему - не повторялись? Если они заведомо не будут повторяться, то к ближе к концу последовательности они не будут уже истинно случайными, разве нет?
Ну, а так - смотри функцию random_shuffle().
++Norton++
Дело в том, что необходимо реализовать задачу перестановки символов в строке случайным порядком.
Допустим если строка из 14 символов, генерируются случайным образом числа от 0 до 14 и заносятся в массив. Тогда если нулевым элементом массива является цифра 5, то нулевой символ строки меняется местом с 5м символом этой же строки и т.д. Соответственно по этому нужно чтобы сгенерировалось 14 чисел от 0 до 14 и чтобы были все числа, т.е. небыло повторов, т.к. в противном случае не все символы строки будут перемешаны.
++Norton++
Не пойму... компилятор ругается: error: 'random_shuffle' was not declared in this scope
Странно, почему? Вроде инклуд algorithm сделал.
Может его как-то еще объявить надо?
Влад
Цитата(++Norton++ @ 4.10.2009, 22:47) *
Дело в том, что необходимо реализовать задачу перестановки символов в строке случайным порядком

1. А! Ну, так это в чистом виде random_shuffle(), именно для подобных задач она и предназначена.
2. Квалификатор std:: не забыл?
++Norton++
Точно! Оно самое, забыл std :) Огромное спасибо!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.