C++ Exercises: Find second largest element in a given array of integers
C++ Array: Exercise-3 with Solution
Write a C++ program to find the second largest element in an array of integers.
Sample Solution:
C++ Code :
#include<iostream> // Header file for input/output stream
#include<climits> // Header file for limits of integral types
using namespace std; // Using the standard namespace
void second_largest(int nums[], int arr_size) // Function definition to find the second largest element in the array
{
int i, first_element, second_element; // Declaration of integer variables
/* There should be atleast two elements */
if (arr_size < 2) // Checking if the array has less than 2 elements
{
cout << " Invalid Input "; // Output message for invalid input
return; // Return from the function
}
first_element = second_element = INT_MIN; // Initializing first and second elements as minimum integer value
for (i = 0; i < arr_size; i ++) // Loop to find the second largest element in the array
{
if (nums[i] > first_element) // Checking if current element is larger than the first largest element
{
second_element = first_element; // Updating second largest element
first_element = nums[i]; // Updating first largest element
}
else if (nums[i] > second_element && nums[i] != first_element) // Checking if current element is larger than the second largest element and not equal to first largest element
{
second_element = nums[i]; // Updating second largest element
}
}
if (second_element == INT_MIN) // Checking if second largest element is still initialized as minimum integer value
{
cout << "No second largest element"; // Output message when there is no second largest element
}
else
{
cout << "\nThe second largest element is: " << second_element; // Output the second largest element
}
}
int main() // Main function where the program execution starts
{
int nums[] = {7, 12, 9, 15, 19, 32, 56, 70}; // Declaration and initialization of an integer array
int n = sizeof(nums)/sizeof(nums[0]); // Determining the number of elements in the array
cout << "Original array: "; // Output message indicating the original array is being displayed
for (int i=0; i < n; i++)
cout << nums[i] <<" "; // Output each element of the array
second_largest(nums, n); // Calling function to find the second largest element in the array
return 0; // Return statement indicating successful execution and program termination
}
Sample Output:
Original array: 7 12 9 15 19 32 56 70 The second largest element is: 56
Flowchart:
C++ Code Editor:
Contribute your code and comments through Disqus.
Previous: Write a C++ program to find the largest three elements in an array.
Next: Write a C++ program to find k largest elements in a given array of integers.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://www.w3resource.com/cpp-exercises/array/cpp-array-exercise-3.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics