c++ - C++ 打印向量并替换缺失的元素
问题描述
我有一个随机整数向量,已排序。元素是 1 到 10 之间的一个,11 到 20 之间的一个,21 到 30 之间的一个等等,如果缺少数字,我想打印一个 *。任何想法如何做到这一点?
std::vector<int> v = { 3, 14, 35, 47, 71 }; //vector size is 5 and numbers can go up to 99
int i = 0;
for (int j = 1; j < 11; ++j)
{
if (i<5 && (v.at(i) < j*10))
{
std::cout << ' ' << v.at(i) ;
i++;
}
else
{
std::cout << " * " ;
}
}
输出应该是:3 14 * 35 47 * * 71
我正在考虑通过一个循环检查每个元素是否是一组特定数字的一部分,例如 v[0]<11 print the element else print '*'
稍后编辑:知道了
解决方案
我对您的程序进行了一些更改,现在它可以正常工作了,所以您想要:
int main() {
vector<int> v = { 3, 14, 35, 47, 71 }; //vector size is 5 and numbers can go up to 99
int i = 0;
for (int j = 10 ; j <= 100 && i < 5; j += 10)
{
if (j == 100)
j--;
if (v.at(i) <= j && v.at(i) >= (j - 10))
{
std::cout << ' ' << v.at(i);
i++;
}
else
{
std::cout << " * ";
}
}
return 0;
}
推荐阅读
- regex - 如何使用 Perl 搜索和修改文件中字符串后面的浮动值
- mysql - 删除 mysql 5.7 中数据的非数字部分
- angular - 尝试使用切换按钮实现侧面导航
? - html - Slick Carousel Dots 显示“数字/按钮”
- javascript - 语义-UI / ReactJS | 使用 DropDown 作为组
- xul - 无法在 XUL 对话框上生成多行文本框 (Thunderbird 68.5.0)
- android - 不推荐使用 ViewModelProviders.of() 时,如何在 Activity 和 Service 之间共享相同的 ViewModel?
- laravel - google adsense 未在 laravel 项目 localhost 中显示
- jupyter-notebook - 无法在 Jupyter 笔记本中运行该功能
- javascript - 防止用户更改支付页面收取的金额