C++ 将数字0-12四次分配到52 C++;
我试图用数字0-12填充一个52的数组。一旦达到12,它需要再次回到0-12。你可能已经猜到了这是一副牌。我的代码在下面,不起作用。它只打印一次0-12,然后打印我认为在剩下的迭代中数组的地址C++ 将数字0-12四次分配到52 C++;,c++,arrays,c++11,C++,Arrays,C++11,我试图用数字0-12填充一个52的数组。一旦达到12,它需要再次回到0-12。你可能已经猜到了这是一副牌。我的代码在下面,不起作用。它只打印一次0-12,然后打印我认为在剩下的迭代中数组的地址 #include<iostream> #include<string> using namespace std; int main() { int myArray[52]; for (int j = 0; j < 4; j++) { for (int i = 0;
#include<iostream>
#include<string>
using namespace std;
int main()
{
int myArray[52];
for (int j = 0; j < 4; j++)
{
for (int i = 0; i < 13; i++)
{
myArray[i] = i;
}
}
for (int k = 0; k < 52; k++)
{
cout << myArray[k] << endl;
}
//system("pause");
return 0;
}
#包括
#包括
使用名称空间std;
int main()
{
int-myArray[52];
对于(int j=0;j<4;j++)
{
对于(int i=0;i<13;i++)
{
myArray[i]=i;
}
}
对于(int k=0;k<52;k++)
{
cout在外循环的每次迭代中,都要为内循环中数组的前12个元素建立索引
试着把它改成这样
for (int j = 0; j < 4; j++)
{
for (int i = 0; i < 13; i++)
{
myArray[i + 13 * j] = i;
}
}
for(int j=0;j<4;j++)
{
对于(int i=0;i<13;i++)
{
myArray[i+13*j]=i;
}
}
int myints[52];
对于(intidx=0;idx<52;idx++)
{
myints[idx]=idx%13;
}
13的模数将从0到12不等。谢谢,这确实有效,但请您分解每个迭代中发生的情况好吗?我想了解这一点。在这里,您想用(1-12)中的数字填充数组的52个位置。为此,您需要访问数组的所有52个位置。让我们开始第一个循环,其中(j=0),例如(我从0到谢谢你,Linkon。我确实这么做了,你是对的,现在它确实很有意义。对不起,但我确实解释了期望的结果,它产生的错误,重现问题的最短代码,等等。你具体指的是什么?我猜你的意思是我需要包括我的include和main函数。)n使用代码示例?因为否则,它编译得很好。请删除。它会使您的程序不必要地进行交互,因此其他程序无法使用它,更糟糕的是,您无法知道pause
命令在其他人的系统上可能会做什么。我的系统可能会有“pause”命令暂停反应堆上的冷却系统。@RandyC是的,MCVE应该按照粘贴到IDE中的副本进行编译。感谢您修复了您的示例。@tambre感谢您的澄清和有关名称空间的文章的链接。我一直想知道为什么我一直看到有人说不要使用它。现在这很有意义。
int myints[52];
for (int idx = 0; idx < 52; idx++)
{
myints[idx] = idx % 13;
}