Generate 20 random numbers using rand() built-in function and store them in 4x5 array.
Ensure that the 4x5 array is created dynamically using smart pointers. Now write a function
that takes a 2D array as a parameter and returns the third highest number in the array.