Как переставить буквы между собой местами

programma

Client
Регистрация
17.03.2011
Сообщения
126
Благодарностей
37
Баллы
28
Есть список таких вот строчек:
1) fmjQSE3328
2) zcvJVH394
3) hdbRXE405
3) obsnHJF616

Подскажите, как переставить буквы и цифры между собой местами, чтобы получилось вот так:

1) S2jQfE33m8
и т.д.
т.е. чтобы была рандомная перемешка букв и цифр в строчку между собой.

Можно ли как-нибудь C кодом и какой будет код?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
Есть список таких вот строчек:
1) fmjQSE3328
2) zcvJVH394
3) hdbRXE405
3) obsnHJF616

Подскажите, как переставить буквы и цифры между собой местами, чтобы получилось вот так:

1) S2jQfE33m8
и т.д.
т.е. чтобы была рандомная перемешка букв и цифр в строчку между собой.

Можно ли как-нибудь C кодом и какой будет код?
upload_2018-8-7_19-41-56.png
 

Вложения

catol

Client
Регистрация
05.07.2012
Сообщения
278
Благодарностей
98
Баллы
28
А что тебе мешает положить все символы строки в список, а потом рандомно забирать символы со списка и собирать их в строку.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
А что тебе мешает положить все символы строки в список, а потом рандомно забирать символы со списка и собирать их в строку.
Необязательно забирать из спсика по одному символу, можно просто их перемешать в списке и объединить:

upload_2018-8-7_19-58-29.png
 

catol

Client
Регистрация
05.07.2012
Сообщения
278
Благодарностей
98
Баллы
28
Ещё проще.

 
  • Спасибо
Реакции: Sergodjan

programma

Client
Регистрация
17.03.2011
Сообщения
126
Благодарностей
37
Баллы
28
так пробовал, почему то не катит, ошибку выдаёт: "нижняя и верхняя граница не должна быть пустой"

Необязательно забирать из спсика по одному символу, можно просто их перемешать в списке и объединить:
так да, норм, логично, три действия: разбивка, перемешивание, объединение.
не лень то шаблон было писать, благодарю.
 

catol

Client
Регистрация
05.07.2012
Сообщения
278
Благодарностей
98
Баллы
28
Выстави сколько символов у тебя строка - 10 и 10 поставь.

Метод неверен так как он дублирует символы при генерации.
 
Последнее редактирование:

programma

Client
Регистрация
17.03.2011
Сообщения
126
Благодарностей
37
Баллы
28
Выстави сколько символов у тебя строка - 10 и 10 поставь.
тоже нет, количество символов меняется, но и не это главное, таким образом рандом не использует все символы одновременно, а символы при генерации рандомом повторяются и какие-то символы не используются при генерации
 

Alex733

Client
Регистрация
27.11.2017
Сообщения
330
Благодарностей
243
Баллы
43
Может подойдет C# код, который генерит случайный набор символов
в диапазноне от А-z и 0-9, любой длины?
 
  • Спасибо
Реакции: SergSh

programma

Client
Регистрация
17.03.2011
Сообщения
126
Благодарностей
37
Баллы
28
Вопрос решён, перемешивание подошло.
 

SergSh

Client
Регистрация
10.05.2017
Сообщения
541
Благодарностей
395
Баллы
63
Код:
string stroka = "fmjQSE3328";
char[] characters = stroka.ToCharArray().Shuffle().ToArray();//Разбиваем строку по буквам - числам, перемешиваем и в массив
string result = string.Concat(characters);//Обьединяем кашу в строку
return result;
 

catol

Client
Регистрация
05.07.2012
Сообщения
278
Благодарностей
98
Баллы
28
Ещё вариант. Взят с инета, адаптирован под ZP.
 

Вложения

  • Спасибо
Реакции: vertsanov и Sergodjan

catol

Client
Регистрация
05.07.2012
Сообщения
278
Благодарностей
98
Баллы
28
Код:
string stroka = "fmjQSE3328";
char[] characters = stroka.ToCharArray().Shuffle().ToArray();//Разбиваем строку по буквам - числам, перемешиваем и в массив
string result = string.Concat(characters);//Обьединяем кашу в строку
return result;
Тоже самое но покороче.

Код:
return string.Concat<char>(project.Variables["Имя исходной переменной"].Value.ToCharArray().Shuffle());
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)