从数组中添加值并插入空间
Add value from array and insert space
我有一个2D整数数组,如主函数所示。该程序需要提示用户进行单个整数。然后,我必须使用" AddValue"函数将用户的值添加到2D数组中的每个值,如主函数所示。
然后,编写"打印"函数,以在数组的每一行上打印出数组中的值,并且每行中的每个数字都被单个空间隔开。
注意:我不应该在每行的最后一个数字之后打印一个空格。
示例:
Input:
2
Output:
7 6
25 1
我遇到的问题是,我需要在输出中完全有一个空间,但是我只在某些输入值中得到它。例如,当输入为 -1 时我得到输出:
4 3
22-2 <- Notice that there is not an space.
有人可以帮助我修复它。谢谢
#include <iostream>
#include<iomanip>
using namespace std;
void addValue(int my_array[][2],int value)
{
for(int i=0;i<2;i++)
{
for(int j=0;j<2;j++)
{
my_array[i][j]=my_array[i][j]+value;
}
}
}
void print(int my_array[][2])
{
for(int i=0;i<2;i++)
{
for(int j=0;j<2;j++)
{
cout<<setw(2)<<my_array[i][j];
}
cout<<endl;
}
}
int main()
{
int my_array[2][2] = {{5,4},{23,-1}};
int value;
cin >> value;
addValue(my_array, value);
print(my_array);
return 0;
}
cout<<setw(2)<<my_array[i][j];
以2个字符的最小间距输出my_array[i][j]
。如果您的值需要2个或更多字符以显示,则...嗯,这是一个示例:
std::cout << std::setw(1) << 42 << std::setw(2) << 42 << std::setw(3) << 42 << std::endl;
输出
4242 42
因此,在示例代码23中采用2个字符,-1采用2个字符。他们被压在一起并以23-1的成绩。
解决方案:
强制空间
cout<<setw(2)<<my_array[i][j] << ' ';
这可能会弄乱列的间距,并在行规则末端打破无空间,因此,另一个选项是确保传递到setw
的数字足够大,可以保持间距,无论如何。<<<<<<<<<<<<<<<<
cout<<setw(100)<<my_array[i][j];
好吧,那100是过分的,但是你明白了。您也可以将空间放在首位。
cout<<setw(2)<<' ' << my_array[i][j];
没有规则,我看到了前面的空间。另一个选择是不打扰内部for
循环
cout << my_array[i][0] << ' ' << my_array[i][1];
如果您必须保留for
循环,请打印第一个元素而无需任何装饰,然后用前面的空间打印其余元素。
for(int i=0;i<2;i++)
{
cout<< my_array[i][0];
for(int j=1;j<2;j++)
{
cout<< ' ' <<my_array[i][j];
}
cout<<endl;
}
相关文章:
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 命名空间中具有.h和.cpp文件的类
- 从父命名空间重载类型
- 当在同一名称空间中有两个具有相同签名的函数时,会发生什么
- 预处理器:插入结构名称中的前一个行号
- 在命名空间中定义函数还是限定函数
- 在未初始化映射的情况下,将值插入到映射的映射中
- 如何在c++中只将键插入到bimap的一侧
- C++:对不存在的命名空间使用命名空间指令
- Qt的slot(?)将冗余命名空间插入连接
- 此插入方法的时间和空间复杂性
- 从数组中添加值并插入空间
- 使用EasyLogging 记录QString时插入额外的空间
- 有什么方法可以将此功能分开并插入空间
- 插入没有空终止符空间的字符串是否安全?
- 为什么我的管道在写入之间插入一个额外的空间?
- 是否有一种方法可以将全局名称插入名称空间并使其仅从该名称空间可用
- 如何正确重载作为用户定义命名空间一部分的模板化类的插入运算符?