Answer:
C++.
Step-by-step explanation:
#include <iostream>
#include <iterator>
using namespace std;
/////////////////////////////////////////////////
class RecursionP2 {
int array_size, count;
int array_list[8];
public:
RecursionP2(int array_list[], int array_size) {
this->array_size = array_size;
count = 0;
for (int i = 0; i < array_size; i++) {
this->array_list[i] = array_list[i];
}
}
/////////////////////////////////////////////
void reverseList(int array_list[], int size) {
if (size <= 1)
return;
else {
int temp;
temp = array_list[0];
array_list[0] = array_list[size-1];
array_list[size-1] = temp;
return reverseList(array_list+1, size-2);
}
}
void reverseList() {
this->reverseList(array_list, array_size);
cout<<"{";
for (int i = 0; i < array_size-1; i++) {
cout<<array_list[i]<<", ";
}
cout<<array_list[array_size-1]<<"}";
}
/////////////////////////////////////////////
void oddList(int array_list[], int index) {
if (index >= array_size)
return;
else {
int temp = array_list[index];
array_list[index] = array_list[count];
array_list[count] = temp;
count = count + 1;
return oddList(array_list, index+2);
}
}
void oddList() {
this->oddList(array_list, 1);
cout<<"{";
for (int i = 0; i < count-1; i++) {
cout<<array_list[i]<<", ";
}
cout<<array_list[count-1]<<"}";
}
/////////////////////////////////////////////
void evenRevList(int array_list[], int index) {
if (index >= array_size)
return;
else {
int temp = array_list[index];
array_list[index] = array_list[count];
array_list[count] = temp;
count = count + 1;
return oddList(array_list, index+2);
}
}
void evenRevList() {
this->evenRevList(array_list, 0);
this->reverseList(array_list, count);
cout<<"{";
for (int i = 0; i < count-1; i++) {
cout<<array_list[i]<<", ";
}
cout<<array_list[count-1]<<"}";
}
/////////////////////////////////////////////
int retPenultimate(int array_list[], int size) {
if (size < 1) {
return -1;
}
else if (size == 1) {
return array_list[0];
}
else {
return retPenultimate(array_list+1, size-1);
}
}
/////////////////////////////////////////////
int* getList() {
return array_list;
}
};
/////////////////////////////////////////////////
int main() {
int array_list[] = {2, 4, 6, 8, 10, 12 ,4, 1};
int array_size = distance(begin(array_list), end(array_list));
RecursionP2 recursionp2_1(array_list, array_size);
/////////////////////////////////////////////
//recursionp2_1.reverseList();
//recursionp2_1.oddList();
//recursionp2_1.evenRevList();
cout<<recursionp2_1.retPenultimate(array_list, array_size);
/////////////////////////////////////////////
return 0;
}