C ++ Случайные числа 0 - 16 [дубликаты]

0

Я работаю над игрой палача для класса, у меня проблемы с получением случайного числа. Каждый раз, когда я запускаю код, я получаю тот же номер. Не уверен, что проблема здесь, что-то поможет.

string pickWord(){
    int random = rand() % 17;
    string word = ::wordList[random];
    cout << word << endl;
    return word;
} 
  • 0
    Посмотри seed()
Теги:
random

1 ответ

4

Вы должны засеять случайное время, иначе оно всегда будет одинаковым.

Взгляни на это:

http://www.cplusplus.com/reference/cstdlib/srand/

ваш код должен выглядеть так

string pickWord(){
    srand (time(NULL));
    int random = rand() % 17;
    string word = ::wordList[random];
    cout << word << endl;
    return word;
} 

а также добавить

#include <time.h> 

Таким образом, случайное будет зависеть от времени, оно выполняется, а не во время компиляции.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню