Я задал вопрос об этом вчера, но тема была приостановлена из-за недопонимания. Поэтому я пытался запустить программу для перетаскивания элементов в вектор. Эта часть завершается следующим кодом:Запрос о случайном перетасовке
srand(static_cast<unsigned int>(time(0)));
random_shuffle(scores.begin(), scores.end());
Я принимаю, что код работает без ошибок, и что другие машины увидеть случайные перетасовать, но когда я запускаю этот код значение явно не перетасовать. Это часть более крупной программы, и когда другие запускают программу, значения явно перетасовываются, но когда я пытаюсь запустить программу снова и снова, значения не перетасовываются. Мне интересно, возможно, наивно, если это потому, что я запускаю его на MacBook, или, возможно, у меня нет моих файлов и папок, организованных должным образом. У кого-нибудь есть идеи?
Edit: Вот полный код:
#include <iostream>
#include <vector>
#include <algorithm>
#include <ctime>
#include <cstdlib>
using namespace std;
int main()
{
vector<int>::const_iterator iter;
cout << "Creating a list of scores.";
vector<int> scores;
scores.push_back(1500);
scores.push_back(3500);
scores.push_back(7500);
cout << "\nHigh Scores:\n";
for (iter = scores.begin(); iter != scores.end(); ++iter)
{
cout << *iter << endl;
}
cout << "\nRandomizing scores.";
srand(static_cast<unsigned int>(time(0)));
random_shuffle(scores.begin(), scores.end());
cout << "\nHigh Scores:\n";
for (iter = scores.begin(); iter != scores.end(); ++iter)
{
cout << *iter << endl;
}
cout << "\nSorting scores.";
sort(scores.begin(), scores.end());
cout << "\nHigh Scores:\n";
for (iter = scores.begin(); iter != scores.end(); ++iter)
{
cout << *iter << endl;
}
return 0;
}
Я полагаю, это будет работать должным образом для всех, хотя, и именно поэтому я так растерялся.
Где вы импортируете 'время'? Например, если это происходит из 'datetime', вы будете получать одно и то же семя каждый раз. –
Я честно не уверен, потому что я довольно новичок в программировании, но я знаю, что когда я печатаю значение времени, каждый раз я запускаю программу. Но я думаю. –
Как этот вопрос отличается от закрытого, который вы задали вчера? – Jashaszun