从数组中删除未使用的内存,以免输出随机数
Removing unused memory from an array so it doesnt output random numbers
void dealCard(int tds, int totaldeck[]) //take total deck divide it by two deal it to two player
{
int ku=0; //ku is the increasing card number so for 1 you give it to p1 then 2 u give to p2
int player1deck[tds/2];
int player2deck[tds/2];
int num =0;
int num1=0;
for (ku; ku < tds; ku++)
{
if (ku % 2 == 1) // every other card is given to playerdeck1
{
player1deck[num] = totaldeck[ku]; //totaldeck is the already shuffled complete deck
num++;
//cout << tds << endl;
}
else
{
player2deck[num1] = totaldeck[ku];
num1++;
}
}
cout << endl;
for (int kookoo = 0; kookoo < ku; kookoo++)
{
cout << player1deck[kookoo] << endl;
}
}
我正在创建一个功能,该功能将一半的已洗牌卡牌交给Player1和Player2。
我有一个问题是,一旦所有26个参数都填写在player1deck [num]中。输出变为随机数,例如52、10201328,-208476711、0、1等。我认为计算机只是试图将内存分配给未填充点,因为[ku]一直到TDS(用户的数量,用户是用户是数量)玩 * 52)和[num]只是其中的一半。无论如何,是否可以摆脱这种额外的记忆,以便我可以摆脱这些随机数字?非常感谢您的任何帮助/建议
player1deck
仅包含26个元素,最后一个循环试图访问第一个元素。这是不确定的行为。
您需要这样更改循环条件:
for (int kookoo = 0; kookoo < tds / 2; kookoo++)
相关文章:
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- 递归函数计算序列中的平方和(并输出过程)
- 整数不会重复超过随机数
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 在将数字随机生成为数组期间从内存输出随机数的数组
- 如何在C++中输出两组不同的随机数
- 从数组中删除未使用的内存,以免输出随机数
- 如何从随机数中输出文本
- 输出不同的随机数
- mt19937 随机数范围 - 奇怪的输出 00A8106E
- 输出 4 组 7 个升序有序和唯一随机数
- 为什么我的随机数程序输出垃圾
- 输出上的随机数
- 无法删除输出后的随机数
- 伪随机数生成器给出相同的第一个输出,但随后的行为和预期的一样
- C++生成随机数而不重复.输出屏幕只是一片空白,光标在闪烁
- C++随机数发生器只输出2
- 为什么我的输出中会得到随机数
- C++随机数输出"Game"
- 随机数(rand)不能输出未知字符