just a newb myself but i was under the impression that the size of an array had to be specified by a constant not a variable entered by the user. i may have this wrong.
AFAIK, what you say holds true for the older compilers like Borland/Turbo C++..
Most new compilers (like CodeBlocks, which I use) support variable sized arrays as in my previous post.
Older ones like Turbo C++ need to use dynamic memory allocation (using 'new', pointers etc.)
Someone asked about that here too : http://www.cplusplus.com/forum/beginner/1601/