Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > почему rand() выдает одно и тоже число?


Автор: Hoo 10.3.2007, 23:17
привет всем
сабж
число  - 41, время в системе идет


Код

#include <cstdlib>

using namespace std;

int main( int argc, char* argv[] )
{
    int i = rand();
    cout << i;
    cin.get();
}

Автор: sergejzr 10.3.2007, 23:19
Потому что это генератор псевдослучайных чисел. 
Его можно инициализировать например временем и тогда числа будут разные каждый раз.

Добавлено @ 23:21 
Код

#include <iostream>
#include <stdlib.h>
#include <time.h>

using namespace std;
int main( int argc, char* argv[] )
{
    srand ( time(NULL) );
    int i = rand();
    cout << i;
    cin.get();
}

Автор: Daevaorn 10.3.2007, 23:22
Цитата(Hoo @  11.3.2007,  00:17 Найти цитируемый пост)
время в системе идет

да. но генератор за временем не следит, ему нужно помочьsmile

Автор: Hoo 10.3.2007, 23:41
большое спасибо  smile 

Автор: Queuego 5.11.2022, 14:31
Модератор: Сообщение скрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)