Program to find the smallest and second smallest elements in a given array of integers in C++
Written by
Example:
Given array {10, 18, 25, 30, 5, 11}
Smallest element: 5
Second smallest element: 10
Algorithm:
- Initialize an array of size n and populate it with user input.
- Sort the array in ascending order using the sort() function.
- Print the first two elements of the sorted array as the smallest and second smallest numbers, respectively.
Code:
#include <bits/stdc++.h>
using namespace std;
int main() {
int array[100], i, n;
cout << "Enter number of elements in the array: ";
cin >> n;
cout << "\nEnter array: ";
for (i = 0; i < n; i++) {
cin >> array[i];
}
//sorting the array
sort(array, array + n);
//first two elements are the result
cout << "Smallest number is: " << array[0] << "\nSecond smallest number is " << array[1] << endl;
return 0;
}
Output
Enter number of elements in the array: 5
Enter array: 4 5 1 3 2
Smallest number is: 1
Second smallest number is 2
Time Complexity: O(NlogN) Space Complexity: O(N)