我在这里打印一个二维数组,但我想将其格式化为这样打印。
[1 2 3
4 5 6
7 8 9]
我的问题是打印括号。
cout<< "[";
for(int i = 0; i<numrows(); i++)
{
for(int j = 0; j < numcols(); j++)
cout << GetData(i,j) << " ";
cout << endl;
}
cout << "]" <<endl;
但它打印得像这样。
[1 2 3
4 5 6
7 8 9
]
我应该制作一个if语句,说明它是否是最后一个打印它? 这是一个很好的方法。也许即时通讯我只是如此困倦。
答案 0 :(得分:2)
只有在下面有另一行时才打印换行符:
if (i != numrows() - 1) { cout << endl; }
答案 1 :(得分:2)
不要为最后一行输出endl
:
cout<< "[";
for(int i = 0; i<numrows(); i++)
{
for(int j = 0; j < numcols(); j++)
{
cout << GetData(i,j);
if (j < numcols() -1)
{
cout << " ";
}
}
if (i < numrows() -1)
{
cout << endl;
}
}
cout << "]" <<endl;
答案 2 :(得分:1)
试试这个:
cout << "[";
for (int nRow = 0; nRow < 3; nRow++){
for (int nCol = 0; nCol < 3; nCol++)
{
if(nRow!=0)
cout <<" "<<GetData(i,j) <<" ";
else
cout<<GetData(i,j) <<" ";
}
if(nRow!=2)
cout<<endl;
}
cout << "\b]" <<endl; // backspacing so that there is no space b/w 9 and ]
答案 3 :(得分:0)
试试这个。
输出
| 1 2 3 |
| 3 4 5 |
| 3 4 2 |
| 2 3 1 |
int main()
{
int arr[4][3];
for(int i=0; i<4; i++)
{
for(int j=0; j<3; j++)
{
cout<<"Enter Value:";
cin>>arr[i][j];
}
}
cout<<"The Values you entered are..."<<endl<<endl<<endl;
cout<<"| ";
for(int i=0; i<4; i++)
{
for(int j=0; j<3; j++)
{
cout<<arr[i][j]<<" ";
}
cout<<"|";
cout<<endl<<"| ";
}
cout<<"\b\b\b\b ";
getch();
}