En esta tarea (y a diferencia de las anteriores), no les dan "un valor de N seguido de N comandos" sino que les piden leer directamente todos los comandos que haya en la entrada. Una cosa que es fácil de observar es que cada comando comienza con una cadena (VAR, REF, INC o PRINT) y que teniendo el tipo de comando podemos leer los parámetros del mismo. Para leer los comandos *hasta el fin de la entrada* pueden hacer lo siguiente: #include #include int main( ) { std::string comando; while (std::cin >> comando) { // mientras la lectura tenga éxito if (comando == "VAR") { //... } else if (comando == "REF") { //... } else if (comando == "INC") { //... } else if (comando == "PRINT") { //... } } } Si redirigiendo la entrada desde un archivo (es decir, si invocaron su programa como mi_programa.exe < entrada.txt) entonces el ciclo terminará cuando se procesen todos los datos provenientes del archivo. Si están ejecutando su programa de forma interactiva (es decir, tecleando manualmente la entrada) entonces el ciclo les seguirá pidiendo datos. Para indicarle al programa que ya no quieren ingresar más datos, tecleen Ctrl+Z y luego Enter en Windows, o bien, CTRL+D en Unix (Linux, Mac).