#include <iostream>
#include <climits>
void print3smallest(int arr[], int size) {
if (size < 3) {
std::cout << "array size < 3";
return;
}
int first, second, third;
third = first = second = INT_MAX;
for (int i = 0; i < size ; i ++) {
if (arr[i] < first) {
third = second;
second = first;
first = arr[i];
}
else if (arr[i] < second) {
third = second;
second = arr[i];
}
else if (arr[i] < third)
third = arr[i];
}
std::cout << "The three smallest elements are: " << first << " " << second << " " << third;
}
int main()
{
int arr[] = {5, 27, 9, 6, 1, 12, 7, 8, 33, 10, 0};
int size = sizeof(arr)/sizeof(arr[0]);
print3smallest(arr, size);
return 0;
}
/*
run:
The three smallest elements are: 0 1 5
*/