Did you say beer ? ... actually a good ol' glass of iced tea would probably do much better.
To get rid of the duplicate display. At the end of LoadArray(), you have a call to DisplayArray():
length = counter-1;
sorted = false;
DisplayArray(list,length); //delete this line
>I could probably do a lot of those couts through the switch statements, is there any preference on how that is done?
I agree with you, for example the Smallest(), Largest(), and Average() functions. Since you are returning the value anyway, why not print it in ProcessChoice? Of course with the Sort() function, the way you have done it is best.