Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.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++ 无法使用for循环填充10x10阵列_C++_Arrays_Loops - Fatal编程技术网

C++ 无法使用for循环填充10x10阵列

C++ 无法使用for循环填充10x10阵列,c++,arrays,loops,C++,Arrays,Loops,我试图让这个程序打印出一个10 x 10的值板,这些值是从一个4 x 4的数组中随机抽取的 所有行的长度应为10个条目;出于某种原因,某些行已被设置为7和10个条目。其他时候,他们每个人正好有10个,但往往有一个或多个是短的。只是想弄清楚如何让这个东西每次打印出10行和10列。新的编码 C++使用基于零的索引,您编写了rand%4+1,它创建了一个范围为1-4的数字,并将其用作索引 取而代之的应该是兰特%4只使用兰特%4,不使用+1。@psi我注意到我们最近有一些下层选民不喜欢看到简单的问题得到

我试图让这个程序打印出一个10 x 10的值板,这些值是从一个4 x 4的数组中随机抽取的

所有行的长度应为10个条目;出于某种原因,某些行已被设置为7和10个条目。其他时候,他们每个人正好有10个,但往往有一个或多个是短的。只是想弄清楚如何让这个东西每次打印出10行和10列。新的编码


C++使用基于零的索引,您编写了rand%4+1,它创建了一个范围为1-4的数字,并将其用作索引


取而代之的应该是兰特%4

只使用兰特%4,不使用+1。@psi我注意到我们最近有一些下层选民不喜欢看到简单的问题得到回答。无论是问题还是答案,这都不符合指导原则。让问题变得糟糕,然而,答案是正确的!但是,您可能希望指出在尝试访问'envir[cat][4]时发生错误的确切位置,以使其非常安全clear@JVApen那太可怕了。这个网站上有一些精英主义,令人不快。@john我同意,幸运的是我有足够的声誉,不会太在意它的发生。也许我应该把它发布在Meta上,以得到一些关于它的讨论Meta post:
iostream, cstdlib, string, math.h, time.h

using namespace std;

int main()
{

srand(time(NULL));

string worldMap[10][10];

string envir[4][4] = { {"S1", "S2", "S3", "S4"}, {"P1", "P2", "P3", "P4"},
               {"F1", "F2", "F3", "F4"}, {"D1", "D2", "D3", "D4"} };

for (int i = 0; i < 10; i++)
{   
    for (int j = 0; j < 10; j++)
    {

        int cat = rand()%4+1;
        int subcat = rand()%4+1;
        worldMap[i][j] = envir[cat][subcat];
        cout<<worldMap[i][j];
    }
    cout<<endl;
}
 return 0;
}