Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
1 / 0 / 0
Регистрация: 31.07.2017
Сообщений: 35
1

Оператор rand() выдает только одно и то же число. Почему?

12.08.2017, 19:03. Просмотров 2181. Ответов 3
Метки нет (Все метки)

Постоянно выдает 41. В чем дело?

C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <cstdlib>
using namespace std;
int main() {
    int n;
    cin>>n;
    if(n<1000||n>9999){
    cout<<"1";}
    else cout<<rand();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.08.2017, 19:03
Ответы с готовыми решениями:

Почему ответ не выводит матрицей, а выдает только одно число
Почему последние два ответа не выводит матрицей, а выдает только одно число? Помогите пожалуйста

Функция rand() выдает одно и то же число
#include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; void main() { int i=rand()%10; printf(&quot;%d&quot;,i); } при...

Rand() выдаёт одно и тоже значение в Code::Blocks
Доброго всем здоровья ! Во время выполнения одного из упражнений возникла трудность: функция...

Почему rand() генерирует при каждом зауске одно и то же?
народ помогите найти хороший генератор челых чисел. т.к rand() с &lt;stdlib.h&gt; генерирует постоянные...

3
93 / 91 / 62
Регистрация: 23.11.2013
Сообщений: 242
12.08.2017, 19:24 2
Нужно сначала задать начальное число для генератора случайных чисел функцией srand, для рандомности можно использовать текущее календарное время с помощью time(0);
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
int main() {
    srand (time(0));
    int n;
    cin>>n;
    if(n<1000||n>9999){
    cout<<"1";}
    else cout<<rand();
}
2
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
10842 / 6673 / 1614
Регистрация: 25.07.2009
Сообщений: 12,442
12.08.2017, 19:24 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {
    int n;
 
    srand(time(NULL));
 
    cin>>n;
    if(n<1000||n>9999){
    cout<<"1";}
    else cout<<rand();
}
1
6 / 6 / 10
Регистрация: 22.12.2016
Сообщений: 105
12.08.2017, 21:43 4
Используй
C++
1
srand(time(NULL));
что-бы при запуске каждый раз генерировалось новое число.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.08.2017, 21:43

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

Почему rand() выдает не те числа, которые я ожидаю
#include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include...

Rand все время генерирует одно и тоже число
Помогите создать массив и равномерно распределить в нем рандомные числа от -55 до 49? Что то у...

Как тэгом rand сгенерировать рандомные числа и одно НЕ рандомное число?
Есть у нас задача: сгенерировать в массив Х (количество) рандомных чисел, скажем от (-200;+200), и...

Оператор rand. Получить случайное число из диапазона значений.
Добрый день. Недавно начал изучать Ruby, и в процессе обучения возникла неоходимость написать...


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

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

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