UPE: Función Random en ANSIC
A veces queremos que nuestro programa obtenga números de forma aleatoria
, por ejemplo, para simular una tirada de dados o el reparto de cartas en un juego. Intente desarrollar los siguientes ejercicios… utilizando lo aprendido en clase con lenguaje C. En caso de recurrir a Internet recuerde para que ejercicio tuvo que hacerlo y que fue lo que necesito buscar.
Random:
1- Diez valores random
Realice un programa que imprima 10 valores aleatorios y los imprima en pantalla.
short i=0;
srand(time(NULL)); //<-- Semilla con la hora!
while(i<10)
{
printf("El valor generado es: %c\n", rand() % 127);
i++;
}
2- Aleatorios entre maximos y minimos
Crear el código de un programa que genere tres números enteros aleatorios A, B, C comprendidos entre 40 y 90, luego los muestre en pantalla.
short A = 0;
short B = 0;
short C = 0;
// La formula para max y min es: rand () % (HASTA-DESDE+1) + DESDE
A = rand () % (90-40+1) + 40;
B = rand () % (90-40+1) + 40;
C = rand () % (90-40+1) + 40;
printf("El valor generado para A es: %hd\n", A);
printf("El valor generado para B es: %hd\n", B);
printf("El valor generado para C es: %hd\n", C);
3- Funcion que retorna randoms
Crear una función que retorne valores aleatorios, luego realizar 10 llamadas e imprimir los resultados en pantalla.
int main()
{
short numero;
short i=0;
while(i<10)
{
printf("Aleatorio: %hd\n", genRandoms(20));
}
return 0;
}
short genRandoms(short N)
{
return rand () % (N-10+1) + 10; // Este está entre 10 y N
}
4- Funcion que retorna random con semilla de tiempo
Crear una función que al enviarle por parámetro el valor máximo retorne valores aleatorios tomando en cuenta a la hora como semilla inicial. Imprimir 10 llamadas a esta función.
Hacerlo usando: srand(time(NULL));
5- Tirar los dados
Crear una función que tire los dados, al enviarle un valor entre 0 y 6 retorne un valor comprendido entre esos dos números tomando la hora como semilla inicial. El programa debe arrojar los dados 10 veces.
Hacerlo!!