У меня есть функция в классе, который я пишу, который должен только заполнить вектор случайными числами. По какой-то причине он генерирует только одно и то же случайное число и заполняет массив этим числом, несмотря на использование цикла, в котором rand() вызывается снова и снова. Я посеял ранда со временем (0). Я попытался разместить семена внутри петли, и это не имело никакого значения. Вот моя функция. «array» - фактически вектор.Заполнить вектор случайными числами
void fillArray()
{
srand(time(0));
for (unsigned int i = 0; i < array.size(); i++)
{
array.at(i) = rand() % 200;
}
}
Вы выполняли несколько раз? Вы пытались поместить это в 'main' и работать с' vector' размером '10', чтобы сделать тривиальный тест? – Columbo
Ваш вопрос заставил меня снова взглянуть на мой класс. То, что я делал, это использовать перегруженную функцию «at()» в моем классе, чтобы скопировать функцию векторного класса at(). Я объявил, что это const, который препятствует изменению индекса. Удаление const заставило его работать правильно. Спасибо! – Sabien
@Sabien Если вы нашли ответ, отправьте ответ на свой вопрос. (Http://stackoverflow.com/help/self-answer) – ikh