gpt4 book ai didi

c++ - 将数组的元素设置为等于整个数组c++

转载 作者:行者123 更新时间:2023-11-28 04:54:55 27 4
gpt4 key购买 nike

我正在制作一副宾果牌。牌组知道牌组中牌的数量、牌的大小以及牌上出现的最大数量。

我想创建 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”的无效转换错误。我如何声明我的牌组阵列来存储这些卡片阵列?

最佳答案

在 C++ 中,您可以通过嵌套 vector 的方式处理数组的数组,例如一个vector<vector<int>>为你的 deckArr .注意 deckArr实际上应该是 Deck 的成员(而不是局部变量);只需稍微调整您的代码即可显示嵌套 vector 的概念:

Deck::Deck(int cardSize, int cardCount, int numberMax){
int randInt;
int size = cardSize * cardSize;
vector<vector<int>> deckArr(cardCount);
for(int t = 0; t < cardCount; t++){
vector<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.push_back(arr);
}
}

关于c++ - 将数组的元素设置为等于整个数组c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47382926/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com