| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Перемешивание строк |
| Автор: MrDmitry 20.2.2012, 15:18 | ||
| Здравствуйте, помогите справится с казалось бы легкой задачей, честно говоря такое даже спрашивать стыдно ( Есть строка, нужно перемешать символы заданное кол-во раз попробовал так
В таком примере у меня повторяются символы из за рандома а некоторые символы вообще не записываются в строку ((( Вот что получаем ёждаегббб ёеаждвааг |
| Автор: Чучмек 20.2.2012, 15:37 | ||||
Или еще лучше
|
| Автор: northener 20.2.2012, 15:38 | ||
|
| Автор: Чучмек 20.2.2012, 15:50 |
Извиняюсь, недосмотрел. Первую половину (моего кода)на свалку |
| Автор: MrDmitry 20.2.2012, 17:03 | ||
| northener Так пробовал символы все равно повторяются Сейчас нет под рукой дельфи, но пришла в голову мысль сделать так
Как думаете такой вариант сработает?(Мне кажется что должен) или есть какой то другой вариант без вложенных циклов? |
| Автор: northener 20.2.2012, 17:51 | ||
Ибо из справки: random returns a random number between 0 and (num-1) Кроме того. С этим изменением проверил код из топика. Результат жгевабдзё даёвжбгзе |
| Автор: Чучмек 20.2.2012, 18:01 | ||
|
| Автор: Qu1nt 20.2.2012, 18:45 | ||
http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle.
|
| Автор: Gwire 23.2.2012, 11:49 | ||||
Можно попробовать делать не переносом, а (истинно) перемешиванием.
PS: А собственно, к чему это безвозвратное перемешивание строки? Или задача несколько сложнее чем юзать Random? |