设置等于整个数组C 的数组的元素
Setting an element of an array equal to an entire array c++
我正在创建一张宾果卡牌。甲板知道甲板上的卡数量,卡的大小以及出现在卡上的最大数字。
我想创建唯一随机整数的n数组(卡),然后将这些数组中的每个数组添加到另一个数组(甲板)的每个元素。因此,一个数组。
ex。
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 中,您可以通过嵌套向量来处理数组,例如deckArr
的vector<vector<int>>
。请注意,deckArr
实际上应该是Deck
的成员(而不是局部变量);只是稍微调整了您的代码以显示嵌套向量的想法:
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);
}
}
相关文章:
- 数组元素打印的递归方法
- 如何将字节数组元素替换为修改的十六进制 ASCII 符号?
- 为什么使用数组元素查找最大数字的程序不起作用?
- 数组元素更改值?
- 如何访问宏中定义的数组元素
- 将数组元素递增 1
- C++函数,它将数组、谓词和运算符作为参数,并将运算符应用于满足谓词的数组元素
- 存储指向动态数组元素的指针
- C++通过别名指针以静默方式将错误的类型分配给数组元素
- 在 std::map 中插入数组元素
- 使用指针访问数组元素时出现意外结果
- c++ 使用动态分配运算符反向数组元素
- 为什么在 c++ 中分配 char 数组元素时,分配的字符会被销毁?
- 缺少数组元素问题
- 如何在类中制作 2D 数组元素,然后在其构造函数中指定其维度?
- 创建一个函数来转换数组元素的类型并返回数组的地址
- 删除在结构 c++ 中声明的数组元素
- Getter 和 Setter 用于类 C++ 中的数组元素
- 尝试递归获取数组元素的总和
- 使用SWIG将numpy数组元素(int)传递给c++int