用c ++打印2d数组

时间:2015-11-06 06:07:01

标签: c++ arrays

我正在尝试使用2D阵列制作一个马棋棋盘,这是我迄今为止所拥有的

 #include <iostream>

using namespace std;

    int main()
    {

        char table[8][9]={"RkBKQBkR", "pppppppp", "        ", "        ", "         ", "        ", "pppppppp", "RkBKQBkR" } ;

        for (int rows=0; rows<8; rows++)
        {
            for (int col=0; col<8; col++)
            {
                  cout << table[rows][col] ;
            }
        }


        return 0;
}

我如何在数组的对象之间添加行(|)和( - )? 输出是     RkBKQBkRpppppppp ppppppppRkBKQBkR

3 个答案:

答案 0 :(得分:1)

建议:因为它是C ++,所以从查看STL容器,向量等开始,因为你定义数组的方式更多是C方式。

除此之外,要添加附加文字:

std::vector<std::string> table ={"RkBKQBkR", "pppppppp", "        ", "        ", "         ", "        ", "pppppppp", "RkBKQBkR" };
for (int rows=0; rows<8; rows++)
{
    cout << "|";
    for (int col=0; col<8; col++)
    {
        cout << table[rows][col] << "|";
    }
    cout << endl;
    for(int i = 0; i < 8; ++i) { cout << "--"; }
    cout << "-" << endl;
}

我的代码使用字符串向量,因为char[][]的代码无法在我的计算机上编译。

答案 1 :(得分:0)

打印|这在外部for循环中 - 这在内部 for循环

答案 2 :(得分:0)

您应该使用if-else条件的2个for-loops(外部和内部)语句来决定是否打印。

查找“|” &安培; ASCII表中的“ - ”字符有很好的棋盘。

希望这有帮助!