Получение суммы первого и последнего значения в векторе C ++ - PullRequest
0 голосов
/ 30 октября 2018

Я хотел бы получить сумму первого последнего элемента в векторе

Вот то, что я пытался, по какой-то причине я продолжаю получать значение ноль. что я должен изменить.

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;
   }

1 Ответ

0 голосов
/ 30 октября 2018

Вы можете вычислить желаемое значение с помощью

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().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...