Cito la parte donde tienes problemas:
Ese do va con el while de debajo (es un bucle do-while). Entonces, hace
n = 1 + rand() % 10;
mientras (checkrep(n, num));
El % va ahí porque forma parte de la función rand en ese caso. Si pusieras
n=rand(), te calcularía cualquier número aleatoriamente. Poniendo detrás de rand() un signo de % y posteriormente un número, el ordenador piensa un número desde el 0 hasta el número que has introducido.
En el while no van las llaves, porque, como dije antes, es un bucle do-while. Si fuera un bucle while, sí sería con llaves (Ojo, que el bucle do-while también puede llevar llaves, pero en este caso, como no tiene que ejecutar muchas sentencias, no hacen falta).
Espero haberte ayudado.
Saludos.
Código (cpp) [Seleccionar]
srand(time(NULL));
int n, i, num[f];
for(i = 0; i < f; i++)
{
do // porque este do acá?
n = 1 + rand() % 10; //especificamente qué hace el simbolo % acá?
while(checkrep(n, num)); // tenia entendido que luego de while se abrian llaves, por qué acá no hay?
Ese do va con el while de debajo (es un bucle do-while). Entonces, hace
n = 1 + rand() % 10;
mientras (checkrep(n, num));
El % va ahí porque forma parte de la función rand en ese caso. Si pusieras
n=rand(), te calcularía cualquier número aleatoriamente. Poniendo detrás de rand() un signo de % y posteriormente un número, el ordenador piensa un número desde el 0 hasta el número que has introducido.
En el while no van las llaves, porque, como dije antes, es un bucle do-while. Si fuera un bucle while, sí sería con llaves (Ojo, que el bucle do-while también puede llevar llaves, pero en este caso, como no tiene que ejecutar muchas sentencias, no hacen falta).
Espero haberte ayudado.
Saludos.