获取向量C++中第一个值和最后一个值的和
Getting the sum of the first and last value in a vector C++
我想得到向量中第一个最后一个元素的和
这是我尝试过的,由于某种原因,我一直得到的值为零。我该换什么。
int sum_first_last(vector <int> &v) {
for (int k = 0; k < v.size(); ++k) {
if (k == 0) {
int first_element;
first_element = v[k];
if (k == v.size()) {
int last_element;
last_element = v[k];
return first_element + last_element;
}
}
int main() {
vector<int> v1;
int n;
int k = 0;
cout << "please enter number of elements you wish to add" << endl;
cin >> n;
for (int i = 0; i < n; i++) {
cout << "enter the value" << endl;
cin >> k;
v1.push_back(k);
}
sum_first_last(v1);
cout << "the value is " << sum_first_last(v1) << endl;
return 0;
}
您可以通过计算所需的值
const int sum = vec.front() + vec.back();
不过,您不想在空向量上调用此函数,所以请确保vec.empty()
事先返回false。
const int sum = vec.empty() ? 0 : vec.front() + vec.back();
对于具有一个元素的向量,这将与const int sum = 2*vec.front()
相同。
相关文章:
- 为什么它只打印双链接列表的第一个值,而我的程序却崩溃了
- std::find,返回所有找到的值的替代方法,而不仅仅是存在重复的向量的第一个值
- 如何仅读取文本文件中的第一个值
- 在C++中,如何在第一个"system()"结束后执行第二个"system()"?
- 查找不在标准中的第一个值::设置<int>最小-最大值
- C++:忽略第一个 cin.ignore 之后的输入
- 在C++中打印多个矢量的第一个值
- C++去除前x个元素的有效方法,在不改变向量大小的情况下将第x+1个元素推到第一个
- C++第一个cout将不会打印
- 我们可以在第一个else-if条件结束后使用另一个else-if条件吗
- OpenGL:第二个VBO破坏了第一个VBO
- 为什么第一个Dynamic_cast没有投射到基类?
- OpenGL 2D游戏只绘制第二个精灵纹理而不是第一个
- C++ 为什么程序只读取第一个值
- 在我的第一个C++程序中需要一些帮助(简单)
- 为什么我的代码在第一个 if 语句处中断?
- 是否可以从另一个类对象调用一个类函数而不继承第一个类
- 无法使我的第一个Windows OpenGL窗口抬起并运行
- 当第一个 itr 在最后一个 itr 之后时,std::vector 范围构造函数的官方行为是什么?
- 循环数组 - 从最后一个跳到第一个,反之亦然