将值存储到数组中
Storing values into an array
我正在尝试将随机生成的数字存储到字符串newdeck
中。但是,当我测试它时,所有输出的数字都不在上面生成的随机数顺序中(即5、24,10、33、41。它的0,1,2,3,4,5)。用户输入他们要使用多少套牌(int deck
)。我想将随机数,numvalue
,生成并存储在我的数组newdeck
中。
有什么想法?
在这一行中:
newdeck[numvalue] = numvalue;
您总是一遍又一遍地将特定的卡放回原始位置。更糟糕的是:您访问字符串的不存在元素。
如果您希望结果在totaldeck
更改中:
totaldeck[numvalue] = 0;
(这就是为什么您只得到零 - 将它们自己放在结果上...),
totaldeck[loop] = numvalue;
不需要newdeck
变量。要记住是否已经绘制卡,您可以尝试以下方法:
std::vector<bool> drawn(52 * deck);
for (loop =0; loop < 52*deck; loop++)
{
numvalue = rand()%(52*deck)+1;
if (drawn[numvalue-1])
{
--loop;
continue; //to be explicit
}
else
{
suitvalue = numvalue % 4 + 1;
drawn[numvalue-1] = true;
totaldeck[loop] = numvalue;
//...
另外,使用goto
被认为是非常糟糕的编程实践。避免此处的最简单方法是在上面的摘要中给出的。但是,您应该以更可读的方式工作。
,而且,您应该将代码划分为较小的函数。您更容易编写,理解和维护它们。
相关文章:
- 多维数组存储三种不同的数据类型?
- C++将原始字符数组存储在元组中
- 将十六进制字符数组存储在字节数组中,而无需更改为 ASCII 或其他任何东西
- 我正在编写一个代码来将 int 数组存储在文件中,然后用 c++ 检索它,但是检索第一项是假值,我该如何解决这个问题?
- 如何将元素的索引从2D数组存储到1D数组中,然后交换这些值
- 如何将JSON数组存储在Arduino程序中
- 如何在AVR(例如:ATMega)或Arduino微控制器上制作2D PROGMEM阵列的1D PROGMEM数组(存储
- 使用 char 数组存储数据
- 使用平面数组存储的元组容器
- 数组 存储并要求用户搜索它
- 将值从一个 char 数组存储到另一个 char 数组
- 如何使字符串数组存储在向量中
- 将构造的静态数组存储在多个文件中的内存中
- 将整数数组存储在堆上并通过指针访问它们
- c++声明一个数据类型的字节数组,该数组存储在字符串中
- 使用指针数组存储阶乘计算的所有中间结果
- 使用异构数组存储不同的子类
- 读取文件内容,存储在数组中,向数组添加更多内容,然后将新数组存储在文件C++中
- 尝试将复杂数组存储到类 c++ 中
- 在字节数组存储中嵌入 int/string