Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: omegama en 4 Marzo 2012, 04:26 AM

Título: Programa en C para dado virtual de 20 caras
Publicado por: omegama en 4 Marzo 2012, 04:26 AM
ok estoy intentando hacer un dado virtual de 20 caras pero que me despliegue 50 resultados diferentes logre hacer el dado y logre hacer que me despliegue los 50 resultados pero todos son iguales #include<stdio.h>
#include<stdlib.h>
#include<math.h>

funcion_random()
{
    int x=50;


    do
    {
        srand(time(0));
        printf("random: %i\n", rand()%21-1);
        --x;

    }while(x>=0);
    return 0;

}
int main()
{

    funcion_random();

}
Título: Re: Programa en C para dado virtual de 20 caras
Publicado por: rir3760 en 4 Marzo 2012, 06:24 AM
El problema se debe a que defines la semilla para los números aleatorios dentro del bucle. Lo que debes hacer es colocar la llamada a "srand" justo al principio de la función "main".

Y para obtener un valor en el rango 1 .. 20 debes utilizar:
printf("random: %i\n", 1 + rand() % 20);

Un saludo
Título: Re: Programa en C para dado virtual de 20 caras
Publicado por: Yakui en 5 Marzo 2012, 17:13 PM
Esto me sirve para el foro de rol que estoy haciendo.

¡Gracias! (^w^)b