只是想知道是否可以在二维数组中打印行和列的名称?我有一个名为Row1的13行座位计划 - > Row13和列是字母A - > F ...我可以让座位计划没有问题,但我也想打印出行和列名称。下面是我希望输出看起来像的示例。
Seat A B C D E F
Row1
Row2
等等。我现在只使用2行,直到我可以获得所需的输出。谢谢。
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
const int num_of_rows = 13;
const int num_of_col = 6;
enum row { Row1, Row2, Row3, Row4, Row5, Row6, Row7, Row8, Row9, Row10, Row11, Row12, Row13 };
enum seat { A, B, C, D, E, F };
char seatingPlan[num_of_rows][num_of_col];
int main()
{
int row;
char seatingPlan[13][6];
seatingPlan[Row1][A] = '*';
seatingPlan[Row1][B] = '*';
seatingPlan[Row1][C] = 'X';
seatingPlan[Row1][D] = '*';
seatingPlan[Row1][E] = 'X';
seatingPlan[Row1][F] = 'X';
seatingPlan[Row2][A] = '*';
seatingPlan[Row2][B] = 'X';
seatingPlan[Row2][C] = '*';
seatingPlan[Row2][D] = 'X';
seatingPlan[Row2][E] = '*';
seatingPlan[Row2][F] = 'X';
for (row = 0; row < num_of_rows; row++)
{
for (seat = 0; seat < num_of_col; seat++)
cout << setw(5) << seatingPlan[row][seat];
cout << endl;
}
system("pause");
return 0;
}
答案 0 :(得分:0)
不是对行名和列名使用直接枚举,而是将行和列表示为普通整数:而不是列的枚举A到F,使用列号0到5.而不是&# 34; ROW1&#34;通过&#34; Row13&#34;,使用第0行到第12行。
既然你将行和列表示为普通整数,那么实现一个返回人类可读行和列名的函数变得很简单;也就是说,给定一个列号,返回其名称(&#34; A&#34;列#0,&#34; B&#34;列#1等等)和行相同。
一旦完成,打印出二维矩阵的行名和列名变得微不足道。
答案 1 :(得分:0)
这可能对您有所帮助: 像这样修改你的代码:
cout << "Seat " << setw(5) << "A" << setw(5) << "B" << setw(5) << "C" << setw(5) << "D" << setw(5) << "E" << setw(5) << "F" << endl;;
for (row = 0; row < num_of_rows; row++)
{
cout << "Row " << row + 1 << setw(5);
...