获取向量C++中第一个值和最后一个值的和

Getting the sum of the first and last value in a vector C++

本文关键字:最后一个 第一个 向量 C++ 获取      更新时间:2023-10-16

我想得到向量中第一个最后一个元素的和

这是我尝试过的,由于某种原因,我一直得到的值为零。我该换什么。

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()相同。