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

Генерация случайных букв

10.02.2013, 02:54. Показов 63477. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет, у меня такая проблема :
C++ (Qt)
1
2
3
4
for (int f = 0; f < 10; f++)
{
cout << rand ()%'z'+'a' << "  ";
}
При компиляцьіи вьіводит числа а не буквьі.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.02.2013, 02:54
Ответы с готовыми решениями:

генерация случайных букв
как можно с помощью рандома запрограммировать режим генерации случайных букв (для азбуки Морзе)?...

Дана строка с набором случайных символов, при вводе 10 букв первые 5 букв становятся большими , вторые 5 букв маленькими
Дана строка с набором случайных символов, при вводе 10 букв первые 5 букв становятся большими ,...

Генерация случайных чисел
Доброго времени суток ! Как генерировать случайное число например в диапазоне от 1 до 52 а потом...

Генерация случайных чисел
Здравствуйте, появилась такая проблема: при генерации случайного числа функцией rand(); мне нужно...

9
394 / 369 / 111
Регистрация: 03.02.2013
Сообщений: 1,127
10.02.2013, 02:59 2
Цитата Сообщение от King Of Kings Посмотреть сообщение
Всем привет, у меня такая проблема :
C++ (Qt)
1
2
3
4
for (int f = 0; f < 10; f++)
{
cout << rand ()%'z'+'a' << "  ";
}
При компиляцьіи вьіводит числа а не буквьі.
не удивительно, тут фигня в трёх местах...

это - %'z'
это - +'a'
и всё это вкуче )))

попробуйте так
C++
1
 cout << char(rand()%26+0x61) << "  ";
0
Заблокирован
Автор FAQ
10.02.2013, 03:08 3
King Of Kings, держи Генератор рандомного текста


Добавлено через 1 минуту

Не по теме:

abit,

Цитата Сообщение от abit Посмотреть сообщение
cout << char(rand()%26+0x61) << " *"
- зачем так сложно???
Вот так это всё легко делается cout<<('a' + rand() % ('z' - 'a'))<<" ";

1
Заблокирован
Автор FAQ
10.02.2013, 03:11 4
King Of Kings, вот поправил твой код
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
using namespace std;
 
int main()
{
    for(int i = 'a'; i < 'z'; i++)
        cout<<char('a' + rand() % ('z' - 'a'))<<" ";
    return 0;
}
Миниатюры
Генерация случайных букв  
1
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
10.02.2013, 03:14 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <ctime>
#include <cstdlib>
#include <iostream>
 
int randomRange(int low, int high)
{
    return rand() % (high - low + 1) + low;
}
 
int main()
{
    srand(time(NULL));
    
    for (int n = 0; n < 10; ++n)
    {        
        const char ch = randomRange('a', 'z');
        std::cout << ch << "  ";
    }
}
1
7 / 7 / 3
Регистрация: 08.02.2013
Сообщений: 42
10.02.2013, 03:33  [ТС] 6
Цитата Сообщение от abit Посмотреть сообщение
cout << char(rand()%26+0x61) << " ";
%26+0x61 - это от a до z, как мне записать такое
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
int rndAbetkaRight(char vid_,char do_, char cycle)
{
    for (int f = 0; f < cycle; f++)
    {
    cout << rand ()%do_+vid_ << "  ";
    }
return 0;
}
int rndAbetkaDown(char vid_,char do_, char cycle)
{
    for (int f = 0; f < cycle; f++)
    {
    cout << rand ()%do_+vid_ <<endl;
    }
return 0;
}
 
 
cout << "от : ";
cin >> vid;
cout << "До : ";
cin >> bo;
cout << "количество букв : ";
cin >> cycle;
cout<<endl<<"Результат рандома записывать в рядок (yes | no) : ";
cin >> answerYorN;
if (answerYorN == answeryes)
    {
        rndAbetkaRight(vid,bo,cycle);
    }
    if (answerYorN == answerno)
    {
    rndAbetkaDown(vid,bo,cycle);
    }
0
394 / 369 / 111
Регистрация: 03.02.2013
Сообщений: 1,127
10.02.2013, 04:02 7
C++
1
2
3
4
for (int f = 0; f < cycle; f++)
    {
    cout << char(rand()%((do_-vid_+1))+vid_) <<endl;
    }
1
7 / 7 / 3
Регистрация: 08.02.2013
Сообщений: 42
10.02.2013, 04:36  [ТС] 8
Всем спасибо=)
0
Mobile Software Engineer
Эксперт С++
5381 / 1585 / 956
Регистрация: 23.01.2011
Сообщений: 3,214
10.02.2013, 09:54 9
как вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <random>
 
int main ()
{
   std::random_device rand;
   std::mt19937 gen(rand());
   std::uniform_int_distribution <> distr('a', 'z');
   
   char symbol;
   for (int i = 0; i < 25; i++)
      std::cout << (symbol = distr(gen)) << " ";
   std::cout << std::endl;
 
   return 0;
}
0
rangerx
10.02.2013, 15:55     Генерация случайных букв
  #10

Не по теме:

Ev[G]eN, uniform_int_distribution может работать с любым целым типом указанным в качестве параметра шаблона, приводить к char ничего не нужно

C++
1
2
3
4
5
6
//...
std::uniform_int_distribution<char> distr('a', 'z');   
 
for (int i = 0; i < 25; i++)
    std::cout << distr(gen) << " ";
//...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.02.2013, 15:55

Генерация случайных чисел С++
сгенерировать вещественные числа от 0 до 1(например,0,1;0,2;1,0; и т.д.) в этом случае выводит...

Генерация случайных чисел
Мне нужно заполнить множество матриц числами 0 или 1. Для этого использую функцию rand. Но мне...

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

Генерация случайных чисел
Для генерации случайных чисел использую выражение: x = rand() % 4; Библиотеку &lt;cstdlib&gt;...


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

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