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

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