Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 07.06.2021
Сообщений: 1
1

Генератор рандомных 12 символов

07.06.2021, 20:53. Показов 1084. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужна прога, которая рандомно генерирует 12 англ символов, в которой всегда (также рандомно) будет 3 цифры
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.06.2021, 20:53
Ответы с готовыми решениями:

Генератор рандомных последовательностей
Люди, помогите. Нужно написать программу, которая создает пять рандомных последовательностей....

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

Генератор рандомных чисел! Заполнение массива
Еще раз здравствуйте, я запускаю вот этот код (без точек останова): a=0; int rndm=0; while(a!=3)...

Генерация рандомных символов
Народ есть некоторый код для генерации символов с кодом(рандомным), эти числа забиваются в массив....

7
482 / 294 / 52
Регистрация: 13.08.2019
Сообщений: 1,042
08.06.2021, 12:02 2
Попробуйте так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
#include <iomanip>
 
using namespace std;
 
int main()
{
    int numberElements = 12;
    int numberDigits = 3;
    int indexForDigit = 0;
    char resultRandomSequence[numberElements];
    srand(static_cast<int>(time(0)));
    for(int i = 0; i < 12; i++)
        resultRandomSequence[i] = char('a' + rand()%('z' - 'a'));
    for(int i = 0; i < numberDigits; i++)
    {
        indexForDigit = rand()%numberElements;
        resultRandomSequence[indexForDigit] = char('0' + rand()%('9' - '0'));
    }
 
    for(int i = 0; i < numberElements; i++)
        cout << resultRandomSequence[i] << " ";
 
    cout << endl;
}
Единственное, что добавите(если потребуется) - проверка на то, является ли текущий индекс уже символом или нет. Индексы для цифр генерируются так же рандомно, может случиться так, что выпадет 2 одинаковых числа для индекса. Идея, думаю, понятна.
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
09.06.2021, 00:44 3
Хуба-Буба, Ваш код работает неправильно:
2 c r y n 0 x m g p b f // 2 цифры

prog228, нужны 9 латинских букв и 3 цифры, правильно Вас понял ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <cstdlib>
#include <utility>
#include <ctime>
using namespace std;
 
int main()
{
    srand((int)time(0));
    const int n=12;
    char a[n];    
    
    for(int i = 0; i < n; i++)
    {
        if(i<3) a[i]=rand()%10 + '0';
        else a[i]=rand()%26 + 'a';    
    }   
    
    for (int i = 0; i < n; i++)
        swap(a[i],a[rand()%n]);
        
    for(int i = 0; i < n; i++)    
        cout << a[i] << " ";
    cout << "\n";
        
system("pause");
return 0;
}
0
482 / 294 / 52
Регистрация: 13.08.2019
Сообщений: 1,042
09.06.2021, 08:09 4
Цитата Сообщение от Yetty Посмотреть сообщение
Хуба-Буба, Ваш код работает неправильно:
2 c r y n 0 x m g p b f // 2 цифры
А может быть и одна цифра :-)
Я ниже указал, что:
Цитата Сообщение от Хуба-Буба Посмотреть сообщение
Единственное, что добавите(если потребуется) - проверка на то, является ли текущий индекс уже символом или нет. Индексы для цифр генерируются так же рандомно, может случиться так, что выпадет 2 одинаковых числа для индекса. Идея, думаю, понятна.
*является ли текущий индекс уже цифрой. Наверно слишком сложнааа, но я пишу как могу пока что. Это моё третье возвращение к программированию :-(
0
823 / 626 / 321
Регистрация: 24.02.2017
Сообщений: 2,208
09.06.2021, 11:32 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <ctime>
using namespace std;
 
int main(){
    srand((int)time(0));
    char a[13]="";
    int n1,n2,n3;
 
    for(int i = 0; i < 12; i++)
         a[i]=rand()%26 + 'a';
    cout<<a<<"\n";
    for(int i = 0; i < 3; i++){
         n1=rand()%11;
         while((n2=rand()%11)==n1);
         while((n3=rand()%11)==n1  || n3==n2 );
    }
    a[n1]=((int)a[n1])%10+'0';
    a[n2]=((int)a[n2])%10+'0';
    a[n3]=((int)a[n3])%10+'0';
    cout<<a;
    return 0;
}
Добавлено через 4 минуты
Цитата Сообщение от Yetty Посмотреть сообщение
char a[n]
А если вывести символы так: cout<<a;

Добавлено через 6 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <ctime>
using namespace std;
 
int main(){
    srand((int)time(0));
    char a[13]="";
    int n1,n2,n3;
 
    for(int i = 0; i < 12; i++)
         a[i]=rand()%26 + 'a';
    cout<<a<<"\n";
    for(int i = 0; i < 3; i++){
         n1=rand()%11;
         while((n2=rand()%11)==n1);
         while((n3=rand()%11)==n1  || n3==n2 );
    }
    a[n1]=rand()%100%10+'0';
    a[n2]=rand()%100%10+'0';;
    a[n3]=rand()%100%10+'0';;
    cout<<a;
    return 0;
}
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
09.06.2021, 11:36 6
Цитата Сообщение от повар1 Посмотреть сообщение
А если вывести символы так: cout<<a;
так не будет пробелов между символами
0
823 / 626 / 321
Регистрация: 24.02.2017
Сообщений: 2,208
09.06.2021, 12:07 7
Yetty, не хватает символа завершения строки
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
09.06.2021, 12:29 8
Цитата Сообщение от повар1 Посмотреть сообщение
не хватает символа завершения строки
зачем он, если со строкой здесь не работаем ?
0
09.06.2021, 12:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.06.2021, 12:29
Помогаю со студенческими работами здесь

Переставить строку из рандомных 16 символов 256 раз случайным образом
Здравствуйте. Помогите пожалуйста! Нужна программа для рандомного переставления букв в различных 16...

Создать массив 20х10, состоящий из слов длинной 2—7 символов (из рандомных букв латинского алфавита)
Здравствуйте. Необходимо создать массив 20х10, который состоит из слов длинной 2—7 символов...

Генератор буквенных символов
помогите создать генератор букв латинского алфавита

Генератор рандомных чисел
Нужен генератор случайных значений от 1 - 60 без использования PHP с кнопкой для обновления...

Генератор рандомных чисел
Как сделать программу, которая будет генерировать число от 1 до 6 заданное количество раз (например...

Генератор рандомных чисел
Мне нужно сделать генератор рандомных чисел длинной от 5-7 символов и генерировать такое кол-во...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru