5X5 배열과 벡터를 사용하는 셔플 링 프로그램을 만들었습니다. 벡터는 1부터 25까지의 값을 저장해야하며 배열은 각 요소에 대해 0을 가져야합니다. shuffle() 함수가 전달되면 배열의 벡터 값을 1부터 25까지 임의로 배치해야합니다.셔플 링 기능이 제대로 작동하지 않습니다.
void Match::shuffle() {
std::vector<int> vec(25);
int randNum = rand() % (vec.size());
for (int i = 1; i < 26; i ++) {
vec.push_back(i);
}
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
backArr[i][j] = vec.at(randNum);
vec.erase(vec.begin() + randNum);
randNum = rand()%vec.size();
}
}
} (backArr[i][j]
설정 한 즉, 후) 마지막 실행에
문제 설명이 단순히 "작동하지 않음"인 경우 솔루션을 제공하기가 어렵습니다. 일어날 것으로 예상되는 것과 그 결과가 실제 결과와 어떻게 다른지에 대한 자세한 설명을 제공하려면 질문을 편집하십시오. 좋은 설명이 무엇인지 힌트를 얻으려면 [ask]를 참조하십시오. –
[MCVE]가 필요합니다. –
http://stackoverflow.com/questions/6127503/shuffle-array-in-c. 이것은 도움이 될 수도있다 –