Need major helped I don't understand programming at any help would be amazing.
Write (also compile and execute) a complete C++ program that generates a one-dimensional array of random elements of type integer defined in the range 0 to 9, sort the elements of this array in the ascending order, computes the frequency of each element that appears in the array, and displays the result as an histogram of asterisks (‘*’). Your program MUST perform the following tasks:
Task Description
1)Prompt the user to enter an array size in the range 50 ≤ SIZE ≤ 200 and then VERIFY if the number entered lies within the specifications. Your program MUST allow the user to reenter the number without the need to rerun the program.
2)The OUTPUT of your program MUST display the generated and the sorted arrays in columns of twenty (20) elements. Also, your program MUST display on the screen three (3) columns with the following information:
1. first column: the value of the array element
2. second column: the corresponding element frequency
3. third column: the corresponding histogram
3)Your program MUST use distinct function definitions, which MUST include as one of the arguments an array parameter, for the following tasks: (1) array generation, (2) array sorting, (3) array display and (4) array element frequency calculation.
5)Your program MUST also allow the user to repeat this calculation as often she/he wishes without the need to rerun the program.