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();
}
}
}
問題文が単純に「動作しません」の場合、ソリューションを提供することは困難です。実際の結果とどのように違うのか、そしてどのようなことが起こるのかをより完全に説明するために質問を編集してください。何が良い説明になるかについてのヒントについては、[ask]を参照してください。 –
[MCVE]が必要です。 –
http://stackoverflow.com/questions/6127503/shuffle-array-in-c。これは助けるかもしれない –