如何在 2d 数组中绘制 X?C++

How do you draw an X in a 2d array? C++

本文关键字:绘制 C++ 数组 2d      更新时间:2023-10-16

假设foo[10][10]已经充满了' ' 这是到目前为止我的代码:

for(int q = 0; q <10; q++)
{
foo[q][q] = 'x';
}
这从左上角画了一条线到右下角

,但我无法弄清楚如何在不放入另一个循环的情况下从左下角画一条线到右上角。我知道这很简单,但我认为我错过了一个重要的逻辑。

你能用一个循环来做一个X,还是我在浪费时间?

for(int q = 0; q <10; q++)
{
    foo[q][q] = 'x';
    foo[q][10 - q - 1] = 'x';
}
10 - q - 1 = 9 - q

9 是数组的最大索引。

是的,可以使用具有多个变量的单个循环来完成。由于 i 增加的值 j 的值正在减小。因此 foo[j][i] 将指

foo[9][0]   for the first iteration 
foo[8][1]   for the second iteration 
foo[7][2]   for the third iteration 
.....
till 
foo[0][9]   for the last iteration 

这使得循环按照您的要求沿着对角线从左下角到右上角放置"X"。

for(int q = 0 ,int j=9 ; q <10; q++,j--)
{
foo[q][q] = 'x';
foo[j][q] = 'x';
}