#include <cstdio>
void reverse(int* array, int size) {
for (int i = 0, j = size-1; i < j; ++i, --j) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
} // end of for loop
} // end of reverse
int main( int argc, char** argv ) {
int array[8];
// get and print size of the array
int size = sizeof(array) / sizeof(array[0]);
printf("Size is %d\n", size);
// populate array
for (int i = 0; i < size; i++) {
array[i] = i;
} // end of for loop
// display array before reversing
for (int i = 0; i < size; i++) {
printf("%d ", array[i]);
} // end of for loop
// new line
printf("\n");
// reverse the array
reverse(array, size);
// display the array again after reversing
for (int i = 0;i < size; i++) {
printf("%d ", array[i]);
} // end of for loop
} // end of main
I2luY2x1ZGUgPGNzdGRpbz4KCnZvaWQgcmV2ZXJzZShpbnQqIGFycmF5LCBpbnQgc2l6ZSkgewoKICAgZm9yIChpbnQgaSA9IDAsIGogPSBzaXplLTE7IGkgPCBqOyArK2ksIC0taikgewogICAgICBpbnQgdGVtcCA9IGFycmF5W2ldOwogICAgICBhcnJheVtpXSA9IGFycmF5W2pdOwogICAgICBhcnJheVtqXSA9IHRlbXA7CiAgIH0gLy8gZW5kIG9mIGZvciBsb29wCgp9IC8vIGVuZCBvZiByZXZlcnNlIAoKCmludCBtYWluKCBpbnQgYXJnYywgY2hhcioqIGFyZ3YgKSB7CgogICBpbnQgYXJyYXlbOF07CgogICAvLyBnZXQgYW5kIHByaW50IHNpemUgb2YgdGhlIGFycmF5CiAgIGludCBzaXplID0gc2l6ZW9mKGFycmF5KSAvIHNpemVvZihhcnJheVswXSk7CiAgIHByaW50ZigiU2l6ZSBpcyAlZFxuIiwgc2l6ZSk7CgogICAvLyBwb3B1bGF0ZSBhcnJheQogICBmb3IgKGludCBpID0gMDsgaSA8IHNpemU7IGkrKykgewogICAgICBhcnJheVtpXSA9IGk7CiAgIH0gLy8gZW5kIG9mIGZvciBsb29wCgogICAvLyBkaXNwbGF5IGFycmF5IGJlZm9yZSByZXZlcnNpbmcKICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplOyBpKyspIHsKICAgICAgcHJpbnRmKCIlZCAiLCBhcnJheVtpXSk7CiAgIH0gLy8gZW5kIG9mIGZvciBsb29wCgogICAvLyBuZXcgbGluZQogICBwcmludGYoIlxuIik7CgogICAvLyByZXZlcnNlIHRoZSBhcnJheQogICByZXZlcnNlKGFycmF5LCBzaXplKTsKCiAgIC8vIGRpc3BsYXkgdGhlIGFycmF5IGFnYWluIGFmdGVyIHJldmVyc2luZwogICBmb3IgKGludCBpID0gMDtpIDwgc2l6ZTsgaSsrKSB7CiAgICAgIHByaW50ZigiJWQgIiwgYXJyYXlbaV0pOwoKICAgfSAvLyBlbmQgb2YgZm9yIGxvb3AKfSAvLyBlbmQgb2YgbWFpbgo=