# C ++: how to exclude symmetric pairs in a for loop

I wrote a program that sums the first and last indices of a vector. That is, it prints `v1[k] + v1[v1.size() - 1 - k]`

where it `k`

iterates over the indices. If the user enters a vector of even size, I select symmetrical pairs; for example, the program will print `v1[0] + v1[last]`

and `v1[last] + v1[0]`

, but those two are exact, so I would like to exclude them. The code I wrote is:

```
#include <vector>
#include <iostream>
using std::vector;
using std::cin;
using std::cout;
using std::endl;
int main(int argc, char *argv[]) {
vector<int> v1; // initialize v1 as an empty int vector
int i = 0; // initialize i as int 0
// prompt user for inputs
cout << "Enter in a set of integers:" << endl;
while (cin >> i) {
v1.push_back(i); // at run time populate the vector with ints
}
for (unsigned k = 0; k != v1.size() && k != v1.size() - 1 - k; ++k) {
cout << "The sum of the " << k << " and " << v1.size() - 1 - k
<< " indices are:" << v1[k] + v1[v1.size() - 1 - k] << endl;
}
return 0;
}
```

After the prompt, if I go into `1,2,3,4`

and press `crtl`+ `d`to end the loop `while`

, the output is:

```
The sum of the 0 and 3 indices are:5
The sum of the 1 and 2 indices are:5
The sum of the 2 and 1 indices are:5
The sum of the 3 and 0 indices are:5
```

+3

source to share