c ++用O和X生成2d数组

时间:2012-11-07 23:38:30

标签: c++

我需要帮助尝试使用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';
     }
 }

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

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

1 个答案:

答案 0 :(得分:2)

你有正确的生成部分。至于打印,请使用

for(int i = 0; i < 20; ++i)
{
    for(int j = 0; j < 20; ++j)
    {
        std::cout << array[i][j];
    }
    std::cout << "\n";
}