Форум программистов, компьютерный форум CyberForum.ru

генерация случайных букв - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 36, средняя оценка - 4.92
MaRiNk
 Аватар для MaRiNk
0 / 0 / 0
Регистрация: 28.10.2012
Сообщений: 62
28.10.2012, 17:09     генерация случайных букв #1
как можно с помощью рандома запрограммировать режим генерации случайных букв (для азбуки Морзе)?
есть маленькие соображения но думаю они не верны, знаний маловато.
Или это вообще делается не так?

#include <random>

int n={A||a;Z||z};
random() % n; // случайная буква от A(a) до Z(z)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
28.10.2012, 17:57     генерация случайных букв #2
функция рандом возвращает интовые значения, можно поделать так чтобы эти значения конвертировались в символьные переменные, но там диапазон начинается не с 0, что сильно может усложнить процесс, можно брать модуль по 33 или 26 в зависимости какой вы алфавит выбираете, соответственно будет выходить от 0 до 32 или 25 а уж этим значениям присвоить буквы.

Добавлено через 23 секунды
Цитата Сообщение от MaRiNk Посмотреть сообщение
C++
1
int n={A||a;Z||z}
вот эта запись меня пугает
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
28.10.2012, 18:16     генерация случайных букв #3
Давно писал код для генерации пароля. Можете оттуда взять часть.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <random>
#include <cstdlib>
 
int main()
{
    std::random_device rd;
    std::mt19937 gen(rd());
    std::vector
    <
        std::uniform_int_distribution<>
    >   symbols =
        {
            std::uniform_int_distribution<>('a', 'z'),
            std::uniform_int_distribution<>('A', 'Z'),
            std::uniform_int_distribution<>('0', '9'),
            std::uniform_int_distribution<>(0, 2)
        };
    for(std::size_t i = 0; i < 16; ++i)
        std::cout << static_cast<char>(symbols.at(symbols.at(3)(gen))(gen));
    return 0;
}
MaRiNk
 Аватар для MaRiNk
0 / 0 / 0
Регистрация: 28.10.2012
Сообщений: 62
28.10.2012, 18:27  [ТС]     генерация случайных букв #4
Цитата Сообщение от MrGrig Посмотреть сообщение
Код C++
1
int n={A||a;Z||z}
вот эта запись меня пугает

пыталась написать что n= от А до Z, но мне надо не только заглавные буквы, поэтому добавила А||a (типа что от А или а) ну да, запись скорее всего не верна

Добавлено через 1 минуту
Цитата Сообщение от soon Посмотреть сообщение
std::
извиняюсь, конечно, но что это значит?
Taranga
 Аватар для Taranga
11 / 11 / 1
Регистрация: 29.04.2012
Сообщений: 56
28.10.2012, 18:31     генерация случайных букв #5
std:: -> Вики объяснит=)
MaRiNk
 Аватар для MaRiNk
0 / 0 / 0
Регистрация: 28.10.2012
Сообщений: 62
28.10.2012, 18:40  [ТС]     генерация случайных букв #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <random>
#include <cstdlib>
int main()
{
    std::random_device rd;
    std::mt19937 gen(rd());
    std::vector
    <
        std::uniform_int_distribution<>
    >   symbols =
        {
            std::uniform_int_distribution<>('a', 'z'),
            std::uniform_int_distribution<>('A', 'Z'),
            std::uniform_int_distribution<>('0', '9'),
        };
    for(std::size_t i = 0; i < 10; ++i)
        std::cout << static_cast<char>(symbols.at(symbols.at(3)(gen))(gen));
    return 0;
}
правильно ли я преобразовала код для генерации 10 символов?
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
28.10.2012, 18:42     генерация случайных букв #7
MaRiNk, нет.
MaRiNk
 Аватар для MaRiNk
0 / 0 / 0
Регистрация: 28.10.2012
Сообщений: 62
28.10.2012, 19:01  [ТС]     генерация случайных букв #8
чёрт(
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
28.10.2012, 19:02     генерация случайных букв #9
MaRiNk, если вы не знаете, что такое std - вам в равной степени рано использовать практически все, что написано в коде. Советую открыть книгу.
MaRiNk
 Аватар для MaRiNk
0 / 0 / 0
Регистрация: 28.10.2012
Сообщений: 62
28.10.2012, 19:05  [ТС]     генерация случайных букв #10
Цитата Сообщение от soon Посмотреть сообщение
Советую открыть книгу.
посоветуйте какую)
спасибо
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
28.10.2012, 19:09     генерация случайных букв #11
MaRiNk, Литература C++
Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
28.10.2012, 19:13     генерация случайных букв #12
Можно примерно так , на скорую руку
Вложения
Тип файла: rar Project1.rar (106.5 Кб, 25 просмотров)
MaRiNk
 Аватар для MaRiNk
0 / 0 / 0
Регистрация: 28.10.2012
Сообщений: 62
28.10.2012, 19:20  [ТС]     генерация случайных букв #13
Цитата Сообщение от Игорь с++ Посмотреть сообщение
Вложения
Project1.rar (106.5 Кб, 0 просмотров)
у меня не открывает, либо я не так открываю(
Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
28.10.2012, 19:22     генерация случайных букв #14
вот код который в проекте
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
29
30
31
32
#include <cstdlib>
#include <iostream>
#include <windows.h>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    
    int Number;
    char Symvol[1]={0};
  
  for(int a=0;a<25;a++){
 
do{
          
srand (GetTickCount());
Number = rand()%90+65; 
 
}while(Number>=90);
 
 
    Symvol[0]=Number;
    cout<<Symvol[0]<<"------------------"<<Number<<"\n";
    
    Sleep(60);
    
}
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
28.10.2012, 19:29     генерация случайных букв #15
вот скрин на всякий случай
Миниатюры
генерация случайных букв  
MaRiNk
 Аватар для MaRiNk
0 / 0 / 0
Регистрация: 28.10.2012
Сообщений: 62
28.10.2012, 19:33  [ТС]     генерация случайных букв #16
Цитата Сообщение от Игорь с++ Посмотреть сообщение
на всякий случай
а можно это какнибудь в азбуку морзе вставить?
Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
28.10.2012, 19:51     генерация случайных букв #17
Цитата Сообщение от MaRiNk Посмотреть сообщение
а можно это какнибудь в азбуку морзе вставить?
Можно , вариантов масса , сделай функцию которая будет принимать это значение , или используй switch или ещё , что сама придумаешь
MaRiNk
 Аватар для MaRiNk
0 / 0 / 0
Регистрация: 28.10.2012
Сообщений: 62
28.10.2012, 20:24  [ТС]     генерация случайных букв #18
switch ( выражение ) { [объявление] : [ case константное-выражение1]: [ список-операторов1] [ case константное-выражение2]: [ список-операторов2] : : [ default: [ список операторов ]] }

мало представляю как это сделать
объявление-char?
Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
28.10.2012, 21:09     генерация случайных букв #19
Вот пожалуйста код со switch , когда будет встречаться в случайной генерации буква - "А" будет звучать бип .
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <cstdlib>
#include <iostream>
#include <windows.h>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    
    int Number;int Number2 = 0;
  
    char Symvol[10]={0};
  
  for(int a=0;a<25;a++){
 
do{
          
srand (GetTickCount());
Number = rand()%90+65; 
 
}while(Number>=90);
 
 
    Symvol[Number2]=Number;
    
    cout<<Symvol[Number2]<<"------------------"<<Number<<"\n";
    
    switch(Symvol[Number2]){
    case 'A':
 
 Beep(500,500);
 
    break;
}
    
    Number2++;
    
    Sleep(60);
    
}
      
    system("PAUSE");
    return EXIT_SUCCESS;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2012, 21:19     генерация случайных букв
Еще ссылки по теме:

C++ Генерация случайных чисел
генерация случайных чисел C++
C++ Генерация случайных чисел

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

Или воспользуйтесь поиском по форуму:
MaRiNk
 Аватар для MaRiNk
0 / 0 / 0
Регистрация: 28.10.2012
Сообщений: 62
28.10.2012, 21:19  [ТС]     генерация случайных букв #20
спасибо! попробую разобраться
Yandex
Объявления
28.10.2012, 21:19     генерация случайных букв
Ответ Создать тему
Опции темы

Текущее время: 10:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru