Y por último, si lo que realmente quieres es definir el tamaño del array en tiempo de ejecución, deberás usar un puntero para reservar memoria mediante el uso del operador new (y no olvidarse de borrar esa memoria al final con delete).
Claro que así el acceso a los miembros del array será diferente.
Por cierto, en el código anterior, en la línea 19 el bucle estaba mal.
Sería así:
Código C++:
Ver originalfor (int j=0; j<numElementos-i-1; j++) //he de restar una unidad más para no salirme del rango del array