Números Aleatorios

Iniciado por Kropt32, 2 Agosto 2010, 14:47 PM

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

Kropt32

Me gustaría generar números aleatorios. Todos los manuales para crear números aleatorios utilizan la hora y fecha actual como semilla aleatoria. ¿Alguien puede explicarme como funciona esa semilla?¿Son realmente aleatorios los números que se generan a partir de esa semilla?Si no son ¿Se puede hacer de alguna manera para que los numeros generados tengan el 50% de probabilidad (si son dos), (33.3% si son tres) ,etc.?

Si quiero generar números aleatorios entre 0 y 2 ambos inclusive:
Al 0 se le da 33.3% de probabilidad
Al 1 otro 33.3%
Al 2 otro 33.3%

¿Me explico?
En las pistolas, fíjense, a cada disparo el cañon recula, como asustado por lo que acaba de hacer.

fary

Ahi tienes informacion de la msdn:

http://msdn.microsoft.com/en-us/library/398ax69y%28v=VS.71%29.aspx

Realmente No son aleatorios del todo, como tu bien dijiste tiene que ver con la hora o con la fechao con cualquier otro numero...

No se podria hacer porcentaje... hombre si usaras ifs y tal podrias sacar algo descartando numeros, pero como ya dije, descartando.

salu2!
Un byte a la izquierda.

do-while

¡Buenas!

A ver si este codigo responde a tu pregunta:

#include <stdlib.h>
#include <stdio.h>

#define DIM 3
#define NUM_MUESTRAS 6

void frecuencias(int repeticiones)
{
    int i , frecuencias[DIM] = {0};

    for(i = 0 ; i < repeticiones ; i++)
    {
        ++frecuencias[rand() % DIM];
    }


    printf("%d REPETICIONES\n-------------------------------------------\n",repeticiones);

    for(i = 0 ; i < DIM ; i++)
    {
        printf("%d - %02.2f%%\n", i , 100 * ((float)frecuencias[i]) / repeticiones);
    }
    printf("\n");

    return;
}

int main(int argc, char *argv[])
{
    int i , rep = 10;

    for(i = 0 ; i < NUM_MUESTRAS ; i++)
    {
        frecuencias(rep);
        rep *= 10;
    }

    getchar();

    return 0;
}



Cuando no sepas que hace algo, experimenta, aprenderas mas y descubriras como funcionan las cosas.

¡Saludos!
- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!