#include #include #include /* return the second-largest element of an array * of N integer values (must contain at least two values) */ int second_of(const int N, const int* const x) { assert(N >= 2); int largest = x[0]; // smallest possible int value int second_largest = std::numeric_limits::min(); for(int i = 1; i < N; i++) if(x[i] > largest) { second_largest = largest; largest = x[i]; } else if(x[i] > second_largest) second_largest = x[i]; return second_largest; } int main() { constexpr int fixed_array_size = 5; constexpr int x[fixed_array_size] = {4, 0, 6, 5, 2}; const int t = second_of(fixed_array_size, x); std::cout << t << "\n"; }