У меня есть цикл for
, который выполняется 15 раз, с dh.setDoors ()
на каждой итерации.
setDoors
вызывает srand (time (0))
, а затем всякий раз, когда требуется случайное число, он будет использовать, например, carSetter = rand ( )% 3 + 1
. В качестве альтернативы можно использовать decider = rand ()% 2 + 1
.
Обычно decider
и carSetter
используются по-разному, но я заподозрил проблему и распечатал carSetter
и decider
на каждой итерации. Вот что получилось:
Door 1 has car
Decider is 2
Door 1 has car
Decider is 2
Door 1 has car
Decider is 2
Door 1 has car
Decider is 2
Door 1 has car
Decider is 2
etc...
Значения «1» и «2» меняются, когда я запускаю его несколько раз, но остаются неизменными на протяжении 15 раз.
Поскольку цикл выполняется 15 раз, не должны ли carSetter
и decider
распечатывать разные случайные числа на каждой итерации?
Когда у меня нет ] srand (time (0))
, он работает, как ожидалось, но начального числа нет, поэтому каждый раз используется одна и та же последовательность «случайных» чисел, так что, вероятно, проблема с начальным значением?