srand
- это функция, которая «затравляет» генератор случайных чисел. Если вы не знаете, случайные числа в компьютерах не являются случайными. По сути, на компьютере просто есть список чисел, которые кажутся случайными, и вы используете srand
, чтобы указать ему, с чего начать в этом списке, при каждом вызове rand()
возвращая следующий элемент в списке. *
Причина, по которой вы пишете srand(time(NULL))
, состоит в том, чтобы случайные числа начинались с некоторой точки, которая не будет одинаковой при каждом запуске программы (если программы не запускаются одновременно).
То, что вы делаете здесь, - это повторение программе перезапуска списка случайных чисел в той же точке (потому что время одинаково при каждом прохождении цикла). Переместите вызов на srand
вне цикла, и вы получите правильные результаты.