Pregunta 116

Técnico Auxiliar Informática del Estado - 2010 - TAI PI OEP 2010

Viendo este código en C++, ¿cuál de las siguientes sentencias es correcta respecto al resultado de ejecutarlo?: int num,c; srand(time(NULL)); for(c=1;c<=10;c++) { num=1+rand()[%10-1); cout<<num<<" "; }

  • A.Mostrará aleatoriamente 10 veces la hora.
  • B.Mostrará 10 números aleatorios entre 0 y 10.
  • C.Mostrará 10 números aleatorios entre 1 y 10.Respuesta correcta
  • D.Mostrará 10 números aleatorios del módulo 9.

Explicación

El código C++ usa srand(time(NULL)) para inicializar el generador de números pseudoaleatorios con hora actual como semilla. El bucle for de 10 iteraciones calcula num=1+rand()%10, generando valores entre 1 y 10 (ambos incluidos). La expresión rand()%10 genera 0 hasta 9.