C ++ random_shuffle всегда дает одинаковые результатыC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 C ++ random_shuffle всегда дает одинаковые результаты

Сообщение Anonymous »

Следующий вызов для случайного шаффла всегда дает одинаковые результаты для вектора V
#include
#include
#include
#include

int main()
{
std::vector v{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

std::srand(time(0));
std::random_shuffle(v.begin(), v.end());

for (int i = 0; i < v.size(); ++i) {
printf("%d ", v); printf("\n");
}

printf("%d\n", std::rand() % 100);
}
< /code>
Я попытался компиляция, используя < /p>
g++ -std=c++0x
g++ -std=c++11
< /code>
Но оба дают одинаковые результаты каждый раз, поэтому я не совсем понимаю, что происходит. < /p>
$./a.out
7 1 4 6 8 9 5 2 3 10
26
$ ./a.out
7 1 4 6 8 9 5 2 3 10
41
$ ./a.out
7 1 4 6 8 9 5 2 3 10
39


Подробнее здесь: https://stackoverflow.com/questions/398 ... me-results
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»