Tecnología

Inicio

Cómo crear un Randomizer en C

Una baraja de distribución al azar una lista de números, a continuación, se enumeran los números en orden aleatorio. Los investigadores y los estadísticos utilizan estas listas aleatorias de sacar muestras o asignar los protocolos de investigación. El Internet ofrece muchas de aleatoriedad estadísticamente al azar y fiables, pero la generación de una lista de números aleatorios puede ser un ejercicio de programación divertido. Utilizar el lenguaje de programación C para crear su propio un generador de aleatoriedad simple.

Instrucciones

1 Crear un nuevo programa C. Inicio "Visual Studio". En el menú desplegable, haga clic en "Archivo", "Nuevo proyecto". En el cuadro de diálogo, haga clic en "Win32" en "Visual C ++" en la vista de árbol. Seleccione el icono de la aplicación de consola. Proyecto el nombre "Aleatorio". Haga clic en Aceptar." Aparecerá una ventana de editor de texto.

2 Añadir los siguientes encabezados en la parte superior del programa:

incluir <stdlib.h> incluir <stdio.h> incluir <time.h>

También añadir la siguiente definición de preprocesador inmediatamente después de la declaraciones incluyen:

definir N 25

Cuando se creó la lista de números aleatorios, N es el número más alto generado. Cambiar esta definición para variar la cantidad de números aleatorios deseados.

3 Definir las siguientes variables de memoria dentro de la función principal:

int tmain (int argc, argv _TCHAR * [])

{int nums [N];

int i, r;

Los nums matriz sostendrán los números aleatorios y está dimensionado en base a la definición de preprocesador. Tenga en cuenta que las diferentes versiones de programación C pueden necesitar ligeras variaciones de la declaración de la función.

4 Desactive la matriz nums y la semilla del generador de números aleatorios.

srand (time (NULL));

for (i = 0; i <N; i ++)

{ nums[i]=0;

}

Las semillas de función srand el número aleatorio basado en la hora actual. Esto asegura que las distintas listas de números aleatorios se produce cada vez que el programa se ejecuta.

5 Generar la lista de números aleatorios.

for (i = 0; i <N; i ++)

{R = rand ()% N;

mientras que (nums [r]> 0)

{R ++;

if (r>=N) r=0;

}

nums [r] = i + 1;

}

Este circuito genera en primer lugar un número aleatorio entre 0 y N-1 (en este caso 24) a continuación, comprueba para ver si la matriz en ese elemento está vacío. Si lo es, el número aleatorio (más 1 para hacer que la secuencia de ejecución de 1 a 25) se coloca en esta ubicación. Si no es así, el bucle while interior busca el siguiente elemento vacío disponible en la matriz nums. Este proceso se repite hasta que la matriz está llena.

6 Imprimir la matriz.

for (i = 0; i <N; i ++)

{printf ( "% d", nums [i]);

}

printf ( "\ n");

7 Terminar la función.

return 0;

}

8 Haga clic en "F5" para ejecutar el programa. Una lista de 25 números aleatorios se mostrará en la ventana de consola.

Consejos y advertencias

  • Esta es sólo una de las muchas maneras de llenar una matriz con números aleatorios secuenciales. Otras buenas opciones son la clasificación, fusión o arrastrando los pies.