Programa en C para dado virtual de 20 caras

Iniciado por omegama, 4 Marzo 2012, 04:26 AM

0 Miembros y 1 Visitante están viendo este tema.

omegama

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();

}

rir3760

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
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

Yakui

Esto me sirve para el foro de rol que estoy haciendo.

¡Gracias! (^w^)b