无法使用for循环填充10x10数组

-5 c++ arrays loops

我正试图让这个程序打印出一个从4 x 4阵列中随机取出的10 x 10板值.

所有行应该是10个条目长; 由于某种原因,一些行已经有7个和10个条目.其他时候,他们每人只有10个,但往往不是一个或多个.只是想弄清楚如何让这个东西每次打印10行和每列.编码新手.


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;
}
Run Code Online (Sandbox Code Playgroud)

JVA*_*pen 5

C++使用基于零的索引,你写的rand()%4+1是在1-4范围内创建一个数字并将其用作索引.

相反,这应该只是 rand()%4

  • 为什么这会被贬低?这是正确的答案 (3认同)