c++ - 尽管输入正确,浮点数组仍存储垃圾值
问题描述
我正在尝试解决一个问题,我必须将浮点数存储在 3 个不同的数组中,令人惊讶的是,存储的值都是零,你能指出这里出了什么问题吗?
#include <iostream>
#include <iomanip>
#include <vector>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
vector<float>prb(n+1,0),prft(n+1,0),loss(n+1,0);
for(int i=1;i<=n;i++){
float x;
cin>>x;
prb.push_back(x);
}
for(int i=1;i<=n;i++){
float x;
cin>>x;
prft.push_back(x);
}
for(int i=1;i<=n;i++){
float x;
cin>>x;
loss.push_back(x);
}
cout<<endl;
for(ll i=1;i<=n;i++){
cout<<prb[i]<<' ';
}
cout<<endl;
for(ll i=1;i<=n;i++){
cout<<prft[i]<<' ';
}
cout<<endl;
for(ll i=1;i<=n;i++){
cout<<loss[i]<<' ';
}
return 0;
}
输入 :
4 2
0.50 0.50 0.50 0.50
4.00 1.00 2.00 3.00
4.00 0.50 1.00 1.00
输出 :
0 0 0 0
0 0 0 0
0 0 0 0
编辑:数组更改为浮点向量。仍然没有得到想要的价值。伙计们,您认为问题出在编译器上还是我在用 c++ 做一些愚蠢的事情。
解决方案
存储的值不是零,只是您使用给定大小初始化向量,并将这些值设置为零。
push_back
将新元素附加到向量的末尾。
使用at
代替push_back
是解决方法。
推荐阅读
- python - 烧瓶中的 403 IAM 权限“dialogflow.sessions.detectIntent”错误
- javascript - 如何在ajax追加中获取数组ID?
- postgresql - postgresql 权限被拒绝
- javascript - 如何在 Javascript 脚本中使用 HTML 代码
- react-native - 行为反应本机链接
- javascript - ECMAScript 规范提到的内在对象创建顺序是否在某处定义?
- python - Python - 在if语句中的for循环中打破if语句
- flutter - Flutter中为什么Container不限制ListView的高度?
- excel - 如何制作单个、非重复的 Outlook 日历条目?
- cmake - CMake:如何将定义和标志作为字符串常量编译到我的 C(++) 程序中?