我需要帮助尝试使用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 然后我还需要知道如何垂直交换多维数组...仍然保持相同的值/网格设置,但基本上只是垂直反映它。虽然不是水平的..
答案 0 :(得分:2)
你有正确的生成部分。至于打印,请使用
for(int i = 0; i < 20; ++i)
{
for(int j = 0; j < 20; ++j)
{
std::cout << array[i][j];
}
std::cout << "\n";
}