我正在制作一副宾果牌。卡片知道卡片中卡片的数量,卡片的大小以及卡片上显示的最大数量。
我想创建n个唯一随机整数的数组(卡),然后将这些数组中的每一个添加到另一个数组(甲板)的每个元素中。所以,一个数组数组。
实施例。
card1 = {1, 2, 5};
card2 = {3, 7, 2};
deck = {card1, card2};
到目前为止,这是我的代码:
Deck::Deck(int cardSize, int cardCount, int numberMax){
int randInt;
int size = cardSize * cardSize;
int deckArr[cardCount];
for(int t = 0; t < cardCount; t++){
int arr[size];
for(int i = 0; i < size; i++){
randInt = computeRandInt(numberMax, cardSize);
if(arr[i] == 0) arr[i] = randInt;
else if (randInt != arr[i-1]) arr[i] = randInt;
}
deckArr[t] = arr;
}
}
我从'int *'到'int'得到错误无效转换。如何声明我的deck阵列来存储这些卡阵列?
答案 0 :(得分:0)
在C ++中,您可以通过嵌套向量处理数组数组,例如vector<vector<int>>
的{{1}}。请注意deckArr
实际上应该是deckArr
的成员(而不是局部变量);稍微调整一下你的代码来展示嵌套向量的想法:
Deck