C/Visual C - generar números aleatorios en C

 
Vista:

generar números aleatorios en C

Publicado por Jota Be (1 intervención) el 13/10/2001 19:39:44
No sé cómo generar números aleatorios en C entre 0 y el número que yo elija. Por alguna extraña razón no me va la función random; quizá no la sepa implementar. ¿Me puede ayudar alguien con un ejemplo de cómo escribir su uso?
Sé que en FORTRAN existe un modo de generar números aleatorios entre 0 y 1. ¿Tiene el C algún equivalente a esto?
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:generar números aleatorios en C

Publicado por rm3 (31 intervenciones) el 13/10/2001 21:32:56
Tienes que poner primero
randomize();
random(8);
te va a generar números entre 1 y 7 y depende de cómo declares la variable que recibirá el valor
float n;
int num;
por ejemplo para un número entre 0 y 1 sería:
n=random(1);
Espero que te haya ayudado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:generar números aleatorios en C

Publicado por RÅGNÅRØK KHËPRΠ(6 intervenciones) el 14/10/2001 19:21:16
Hola man pues solo te reafirmo que si es con la funcion random( int n) con la que generas numeros aleatorios entre 0 y n-1 tambien tienes que incluir la libreria stdlib.h pero que mejor que un ejemplo para que lo veas ......

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

int main(void)
{
int i, numero;
clrscr(); //limpia pantalla
printf("\tEste programa genera 50 numeros aleatorios entre 0 y 99\n\n");
randomize(); // para hacerla mas aleatoria
for(i=1;i<=50;i++){
numero=random(100); // genera el numero entre 0 y 99
printf("%2d: %d\t",i,numero);
}
getch(); // una pausa entes de salir
return 0;

}

espero que te sirva de algo man ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:generar números aleatorios en C

Publicado por Arturo Guzmán Guerra (5 intervenciones) el 16/10/2001 08:14:10
Hola... aqui te mando un generador de numeros aleatorios que utiliza el metodo multiplicativo congruencial para generar tanto numeros enteros como en el intervalo [0,1), espero que te sirva, es una opcion mas ya que toma los parametros que utiliza IBM para sus generadores y la semilla la toma del reloj del sistema lo cual hace el proceso mas azaroso... si quieres investigar mas sobre este tema lo encuentras bajo el tema generador de numeros aleatorios por el metodo multiplicativo congruencial.... generalmente en libros de simulacion o investigacion de operaciones, creo que viene en el de probabilidad y estadistica de Jay, L. Devore.... saludos y a para bien sirva...
#include <time.h>
#include <stdio.h>
#include <dos.h>
#include <conio.h>
#include <math.h>

void main(void)
{
time_t t;
double m, a, x, u, y;
int i, n;
t = time(NULL); // Mas parametros
a = 16807; // Parametros del generador...
m = 2147483647; //Otro parametro, no se cansan?
clrscr();
printf("La semilla del proceso es %ld\n", t);
printf ("Cuantos n£meros quieres generar?: ");
scanf ("%d", &n);
x = 1.0 * t;
i = 1;
while(i <= n)
{
x = a * x + m;
x = fmod(x, m);
u = x / m;
printf("%d El entero aleatorio es %.0f y el fracionario %.4f\n", i, x, u);
i++;
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar