Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Рожденная для битвы
279 / 56 / 11
Регистрация: 08.11.2009
Сообщений: 1,091
1

Случайные числа от 1 до 9

28.10.2014, 05:46. Просмотров 999. Ответов 3
Метки нет (Все метки)

Можно так создавать случайные числа от 1 до 9
C++
1
2
3
4
5
6
7
8
9
10
void main()
{
    srand(time(0)); 
 
    for (int i = 0; i<20; i++)
    {
        cout << (rand() % 9)+1<<" ";
    }
    system("pause");
}
?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.10.2014, 05:46
Ответы с готовыми решениями:

Нужно чтобы случайные числа вставали в конец массива,а не удаляли числа
#include &lt;iostream&gt; using namespace std; void main() { setlocale(LC_ALL, &quot;Russian&quot;); int n;...

Случайные числа
Кто знает, как получить случайное число (отдельно для целого и дробного) от 0 до n, причем чтобы от...

Случайные числа.
Есть числа 2,4,6,8,0 - из них нужно случайно выбрать одно. Как это сделать? Google'ил, нашел...

Случайные числа
Можно ли генерировать случайные числа типа float с помощью rand()?

3
Эксперт С++
3206 / 1733 / 435
Регистрация: 03.05.2010
Сообщений: 3,867
28.10.2014, 06:25 2
Цитата Сообщение от marina2 Посмотреть сообщение
Можно так создавать случайные числа от 1 до 9
Можно, но случайность не гарантируется.
Вот так нужно:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/////////////////////////////////////////////////////////////////////////////////////////
#include <ctime>
#include <iostream>
#include <random>
/////////////////////////////////////////////////////////////////////////////////////////
typedef std::uniform_int_distribution   < int   >   T_int_distribution;
/////////////////////////////////////////////////////////////////////////////////////////
int     main()
{
    static  std::default_random_engine  rand_generator( unsigned(time(0)) );
 
    for( int  i = 0; i < 20; ++i )
    {
        std::cout   <<  T_int_distribution( 1, 9 )  ( rand_generator )
                    <<  '\t';
    }
    system("pause");
}
1
С чаем беда...
Эксперт CЭксперт С++
7916 / 3833 / 1053
Регистрация: 18.10.2014
Сообщений: 8,156
28.10.2014, 06:34 3
Цитата Сообщение от marina2 Посмотреть сообщение
Можно так создавать случайные числа от 1 до 9
Да. Однако принято считать, что стандартный 'rand()' реализован некачественно, что особенно ярко проявляется в его младших битах. Ваш вариант использует именно младшие биты 'rand()'. Поэтому можно предложить альтернативный вариант

C++
1
rand() * 9 / RAND_MAX + 1
Этот вариант завязан на старшие биты 'rand()', которые обычно более "псевдослучайны".

В стандартной библиотеке С++11, однако, если более качественные генераторы.
1
Эксперт С++
3206 / 1733 / 435
Регистрация: 03.05.2010
Сообщений: 3,867
28.10.2014, 06:42 4
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
В стандартной библиотеке С++11, однако, если более качественные генераторы.
Тем не менее "голые" генераторы без распределений применять не рекомендуется, так как они для этого не предназначены.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.10.2014, 06:42

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Случайные числа в C++
нужно присвоить переменной числа от -50 до 50, как сделать?

Случайные числа
Написать генератор псевдослучайных чисел по алгоритму f(n) = f(n-1) + f(n-2) + f(n-3) ( f0 = f1 =...

Случайные числа
Привет, мне надо наполнить массив случайными числами но толька чтоб они не повторялись, подскажыте...

Случайные числа
Создать матрицу случайных чисел, если max элемент располагается левее минимального то тогда сложить...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.