Answer:
The program declares and array of 8 elements and swap the position of the 1st element with the 8th; the 2nd with the 7th, the 3rd with the 6th and the 4th with the 5th element
Explanation:
First, I'll arrange the code line by line, then I'll start my explanation from the variable declaration at line 4
#include
using namespace std;
int main () {
const int NUM_ELEMENTS = 8;
vector numbers(NUM_ELEMENTS);
int i = 0;
int tmpValue = 0;
cout << "Enter " << NUM_ELEMENTS << " integer values..." << endl;
for (i = 0; i < NUM_ELEMENTS; ++i)
{
cout << "Enter Value#" << i+1 << ": "; cin >> numbers.at(i);
}
for (i = 0; i < (NUM_ELEMENTS /2); ++i)
{
tmpValue = numbers.at(i); numbers.at(i) = numbers.at(NUM_ELEMENTS - 1 - i);
numbers.at(NUM_ELEMENTS - 1 - i) = tmpValue;
}
system ("pause");
return 0;
}
Line 4: This line declares an instant constant variable NUM_ELEMENTS with a constant value of 8. Meaning that the value cannot be changed during program execution.
Line 5: This line declares a vector array that can change in size. Here, it was declared with size 8.
Line 6 & 7: These lines declares integers variables i and tmpValue with an initialised value of 0, each.
Line 8: This line prints the following string; Enter 8 integer values...
Line 9 to 12: These lines represent an iteration which starts from 0 to 7.
Side Note: When an array is being declared, the index starts from 0 and ends at 1 less that the array size.
So, during this iteration, it accepts inputs into the array from index 0 to 7 i.e. from the first element till the last
Line 13 to 17: This is also an iterative statement. But what this iteration does is that, it swaps elements of the array (as stated in the answer section)
The iteration starts from 0 and ends at a value less than NUM_ELEMENTS/2
Note that NUM_ELEMENTS = 2
So,we can conclude that the iteration starts from 0 till a value less that 8/2
Iteration: 0 till a value less that 4
So, that's 0 to 3 (the iteration is done on array element at index 0,1,2 and 3).
When iteration is at 0, the following is done
tmpValue = number at index 0 i.e. a temporary value is used to store the number at index 0 of the array
Number at 0 = number at (8-1-0)
i.e. number at 0 = number at (7)
Number at 7 is then equal to tmpValue
Swap Completed.
The same is done for index 1,2 and 3.