在C++中打印列号
我想打印一个字符串数组,其中包含按列组织的数字 数组包含{2,1,3,16,8,3,4,1,2} 我想用这张表格打印出来 我试着这么做,但结果是这样打印出来的在C++中打印列号,c++,string,loops,formatting,C++,String,Loops,Formatting,我想打印一个字符串数组,其中包含按列组织的数字 数组包含{2,1,3,16,8,3,4,1,2} 我想用这张表格打印出来 我试着这么做,但结果是这样打印出来的 2 1 3 16 8 3 4 1 2 有什么帮助吗 我的代码: std::string arr[] = {"2","1","3","16","8","3","4",
2
1
3
16
8
3
4
1
2
有什么帮助吗
我的代码:
std::string arr[] = {"2","1","3","16","8","3","4","1","2"};
std::string s="";
int count=0;
for (int i = 0; i <3 ; ++i)
{
for (count; count <(i+1)*3 ; ++count)
{
for (int j = 0; j <i ; ++j)
{
std::cout<<"\t";
}
std::cout<<arr[count]<<std::endl;
}
}
我代码中的主要问题是,下一列总是在前一列结束后的新行中开始
我想打印一个字符串数组,其中包含以
柱。数组包含{2,1,3,16,8,3,4,1,2}
我想用这张表格打印出来
2 16 4
1 8 1
3 3 2
对于给定的代码,您可以执行以下更改以实现结果
使用sizeofar/sizeof*arr;查找数组长度;。
根据矩阵的大小做一个循环。这是为了遍历行。
使用第二个循环,直到达到最大数组长度,打印每个数组元素。索引根据矩阵大小递增。
每次内循环完成打印后进行换行。
PS:使用std::string数组是个坏主意。您可以使用简单数组std::array或std::vector来代替它,因为它看起来像是一个整数数组/矩阵
参见输出
如果你张贴了打印数字的代码可能会有帮助。请包括你已经将矩阵转换为的矩阵。数组包含[2-1-3-16-83-4-1-2] -这不是C++。这可能意味着什么。请发布实际代码,而不是一些抽象数字列表的描述。每三个数字打印一次,然后从第二个数字开始打印每三个数字,然后从第三个数字开始打印每三个数字。用于使数字对齐。如果它在一个2D数组中,只需使用外部第二维度的循环对其进行迭代。
2 16 4
1 8 1
3 3 2
#include <iostream>
#include <iomanip>
#include <string>
int main()
{
std::string arr[]={"2","1","3","16","8","3","4","1","2"};
const int arrlength = sizeof(arr)/sizeof(*arr);
const int matrixSize = 3;
for(int row = 0; row < matrixSize; ++row)
{
for (int index = row; index < arrlength ; index += matrixSize)
std::cout << arr[index] << std::setw(5);
std::cout << "\n";
}
return 0;
}
2 16 4
1 8 1
3 3 2