C++ c++;使用O'生成二维数组;s和X';s

C++ c++;使用O'生成二维数组;s和X';s,c++,C++,我需要帮助,试图生成一个二维阵列(20x20网格)与O的和X的。我稍后将用图像替换这些内容,以构建某种地图/网格。但我只需要用字符而不是整数来填充它们 到目前为止,我有: 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';

我需要帮助,试图生成一个二维阵列(20x20网格)与O的和X的。我稍后将用图像替换这些内容,以构建某种地图/网格。但我只需要用字符而不是整数来填充它们

到目前为止,我有:

    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';
     }
 }
char数组[20][20];
srand(时间(空));

对于(int i=0;i您拥有正确的生成部分。对于打印,使用

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

std::cout看起来是正确的,您可以使用std::cout击败我打印出来。另外(为了OP的利益)您可以在构建线条时打印出来。不需要单独的循环。您知道现在如何翻转它吗?xD保留相同的字母和所有内容??例如如何在垂直轴上翻转它?以代替
“\n”
最后,我会使用
std::endl
但这可能太荒谬了。@dash tom bang:为什么是endl?它会刷新流,这对std::cout没有意义,因为它与std::cin绑定,这仍然会使它随机生成列…我需要将它放在同一个循环中,因为如果我创建一个对于另一个循环,它将随机生成另一组与第一个循环不同的列。。