Это моя функция:C++ Генератор случайных чисел не генерирует номера корректно на всех
Random(int min, int max)
{
srand(time(NULL));
return (rand() % (max-min)) + 1;
// or
return (rand() % (max+min)) + 1;
// or
return (rand() % (max-min))
// or
return (rand() % (max+min))
};
И это не работает, если я говорю добавить Random (5, 10) иногда обнаруживаются 15, 5 4. Я не могу понять это, потому что все гиды говорят: «Так оно и должно быть», но это не работает. Что я пропустил?
Этот метод является частью класса.
Я попытался srand (время (NULL)) помещается в:
- Не совсем
- В конструкторе
- В методе
Нет результатов.
Не должно rand() вернуть значение от 0 до 1? Мой нет.
Вы должны «выяснить» как функции работают, читая документацию и * мышление * о коде вы пишете, вместо того, чтобы пытаться каждую перестановку соответствующих маркеров в вашем коде. –
Связанный, пожалуйста, прочитайте. http://stackoverflow.com/a/686373/241536 –