Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将数字0-12四次分配到52 C++;_C++_Arrays_C++11 - Fatal编程技术网

C++ 将数字0-12四次分配到52 C++;

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;

我试图用数字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; 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;
}