The proper way to handles this in C++03 and C++11 is to use a managed dynamic array type such as std::vector:
int size;
std::cout << "Enter array size" << std::endl;
std::cin >> size;
std::vector<int> myarray;
myarray.resize(size);
std::vector<int> behaves a lot like a raw array of ints. You can use [3] to access elements, as an example.
This is superior to managing the memory yourself, as ever experienced programmers lose track of memory.
There are proposals to add dynamically sized arrays to C++1y (the next iteration of C++) or later in an extension in a way that is somewhat compatible with C99 (an important difference is that sizeof(variable length array) in C99 is runtime evaluated, but not in C++). There are also proposals to add std::dynarray, which is a slightly less heavyweight std::vector style class with some possibility of automatic storage optimization. None of this is really needed to solve your problem.
std::vector.std::vector<int>.std::vector<int, std::allocator<int>>.