1

我需要帮助尝试使用 O 和 X 生成 2D 数组(20x20 网格)。稍后我将用图像替换这些以构建某种地图/网格。但我只需要用字符而不是整数填充它们。

到目前为止我有这个:

    char array[20][20];

srand(time(NULL));

for(int i=0;i<20;i++)
 {
     for(int j=0;j<20;j++) {
         array[i][j]= ((rand() % 2) == 0) ? 'O' : 'X';
     }
 }

我不知道格式是否正确,因为代码对我来说很奇怪,但如果我有这个权利。当我运行它时,我究竟如何打印出来?我无法测试它,因为我不知道如何打印出来:/但我觉得我还是错了。

编辑然后我还需要知道如何垂直交换多维数组......仍然保持相同的值/网格设置,但基本上只是垂直反映它。虽然不是水平的..

4

1 回答 1

2

你有正确的一代部分。至于打印,使用

for(int i = 0; i < 20; ++i)
{
    for(int j = 0; j < 20; ++j)
    {
        std::cout << array[i][j];
    }
    std::cout << "\n";
}
于 2012-11-07T23:41:06.583 回答