Неправильный вывод символов в цикле

Имеется цикл for, внутри которого рандомно выбирается символ из массива и выводится в консоль. По окончании программы оказывается, что выводится только последний выбранный символ(при этом при пошаговом просмотре программы выводятся все 5 символов!!!) В чём проблема и как её можно исправить?

for (int i = 0; i < 5; i++) {
    srand(time(0));
    symb = uncoded[rand() % (len + 1)];
    cout << '|' << setw(8) << right << symb << '|';
}

введите сюда описание изображения введите сюда описание изображения


Ответы (1 шт):

Автор решения: MBo

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

srand() выполняйте один раз, например, в начале программы.

При пошаговом просмотре время, которым инициализируется srand, меняется существенно, и стартовые значения последовательности случайных чисел будут разные

→ Ссылка