HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Общие вопросы программирования
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 13.02.2022, 17:44
Michael_Komas
Новичок
Регистрация: 29.09.2019
Сообщений: 15
С нами: 3486475

Репутация: 3
По умолчанию

Мне нужен генератор рандомных чисел и букв, чтобы получалось +- так: G31HDK, при этом, буквы и цифры стояли в разных местах, а может цифр вообще не быть. Почитал, нигде эту информацию не нашёл. Буквы смог сгенерировать через distr ('A', 'Z') , цифры через rand, а вот как их совместить и заменять - не понял.. Если кто-то знает, скажите пожалуйста.
 
Ответить с цитированием

  #2  
Старый 13.02.2022, 18:20
resolveZ
Познающий
Регистрация: 18.01.2022
Сообщений: 38
С нами: 2273928

Репутация: 13
По умолчанию

Цитата:
Сообщение от Michael_Komas  

Почитал, нигде эту информацию не нашёл.
по первой ссылке в гугле

C++:





[CODE]
std
::
string
random_string
(
size_t length
)
{
auto
randchar
=
[
]
(
)
->
char
{
const
char
chars
[
]
=
"0123456789"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"abcdefghijklmnopqrstuvwxyz"
;
const
size_t max_index
=
(
sizeof
(
chars
)
-
1
)
;
return
chars
[
rand
(
)
%
max_index
]
;
}
;
std
::
string
str
(
length
,
0
)
;
std
::
generate_n
(
str
.
begin
(
)
,
length
,
randchar
)
;
return
str
;
}
int
main
(
)
{
std
::
cout

 
Ответить с цитированием

  #3  
Старый 14.02.2022, 20:16
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Цитата:
Сообщение от resolveZ  

по первой ссылке в гугле

C++:





[CODE]
std
::
string
random_string
(
size_t length
)
{
auto
randchar
=
[
]
(
)
->
char
{
const
char
chars
[
]
=
"0123456789"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"abcdefghijklmnopqrstuvwxyz"
;
const
size_t max_index
=
(
sizeof
(
chars
)
-
1
)
;
return
chars
[
rand
(
)
%
max_index
]
;
}
;
std
::
string
str
(
length
,
0
)
;
std
::
generate_n
(
str
.
begin
(
)
,
length
,
randchar
)
;
return
str
;
}
int
main
(
)
{
std
::
cout



[/COLOR]
Попробуй вот это. Мб тебе подойдет. Написал на отьебись, но выдает у меня на сайте выше всегда разную строку

C++:





[CODE]
#include
#include
#include
#include
using
namespace
std
;
std
::
string
random_string
(
size_t length
)
{
string chars
=
"0123456789"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"abcdefghijklmnopqrstuvwxyz"
;
random_device device
;
mt19937
generator
(
device
(
)
)
;
string str
;
for
(
size_t i
=
0
;
i

distribution
(
0
,
chars
.
size
(
)
-
1
)
;
str
+=
chars
.
at
(
distribution
(
generator
)
)
;
}
return
str
;
}
int
main
(
)
{
std
::
cout

 
Ответить с цитированием

  #4  
Старый 17.02.2022, 21:57
Michael_Komas
Новичок
Регистрация: 29.09.2019
Сообщений: 15
С нами: 3486475

Репутация: 3
По умолчанию

[QUOTE="Dark_Knight"]

Это конечно хорошо, но чет оно выдает одни и те же значения)
Цитата:
Сообщение от Спойлер  


Попробуй вот это. Мб тебе подойдет. Написал на отьебись, но выдает у меня на сайте выше всегда разную строку

C++:





[CODE]
#include
#include
#include
#include
using
namespace
std
;
std
::
string
random_string
(
size_t length
)
{
string chars
=
"0123456789"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"abcdefghijklmnopqrstuvwxyz"
;
random_device device
;
mt19937
generator
(
device
(
)
)
;
string str
;
for
(
size_t i
=
0
;
i

distribution
(
0
,
chars
.
size
(
)
-
1
)
;
str
+=
chars
.
at
(
distribution
(
generator
)
)
;
}
return
str
;
}
int
main
(
)
{
std
::
cout
 
Ответить с цитированием

  #5  
Старый 17.02.2022, 22:38
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Цитата:
Сообщение от Michael_Komas  

Спасибо, рандомит - уже хорошо, не знаешь, как его в цикл загнать можно, чтобы раз n-ное количество раз генерировал?
Смотря все от задачи зависит. for пробуй. Я же не знаю, что ты конкретно хочешь сделать
 
Ответить с цитированием

  #6  
Старый 18.02.2022, 11:34
Michael_Komas
Новичок
Регистрация: 29.09.2019
Сообщений: 15
С нами: 3486475

Репутация: 3
По умолчанию

Цитата:
Сообщение от Dark_Knight  

Смотря все от задачи зависит. for пробуй. Я же не знаю, что ты конкретно хочешь сделать
Окей, спасибо.
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.