Discussion:
funciones random() y randomize() en dev-c++
(demasiado antiguo para responder)
News Joseda
2005-08-18 11:23:59 UTC
Permalink
Hola, estoy aprendiendo C/C++ y he visto por internet aplicaciones en
las que hace uso de las funciones random() y randomize() para el
compilador de Borland.

En el entorno de dev-c++ no existen estas funciones en ninguna libreria.

Alguien me podría mandar su implementación.


Gracias y saludos
Oscar Garcia
2005-08-18 15:30:28 UTC
Permalink
Post by News Joseda
Hola, estoy aprendiendo C/C++ y he visto por internet aplicaciones en
las que hace uso de las funciones random() y randomize() para el
compilador de Borland.
En el entorno de dev-c++ no existen estas funciones en ninguna libreria.
Alguien me podría mandar su implementación.
Debería existir:

RANDOM(3) Linux Programmer's Manual
NAME
random, srandom, initstate, setstate - random number generator
SYNOPSIS
#include <stdlib.h>
long int random(void);
void srandom(unsigned int seed);
char *initstate(unsigned int seed, char *state, size_t n);
char *setstate(char *state);

En cuanto a las funciones random y randomize deberías usar rand y
srand:
RAND(3) Linux Programmer's Manual
NAME
rand, rand_r, srand - pseudo-random number generator
SYNOPSIS
#include <stdlib.h>
int rand(void);
int rand_r(unsigned int *seedp);
void srand(unsigned int seed);

Seguro que esas sí que están en tu compilador de C.

De todas formas te dejo una serie de enlaces para que los visites por
si quieres usar otras funciones generadoras de números aleatorios:
http://www.mathtools.net/C_C__/Random_numbers/
http://www.agner.org/random/

Un saludo.
Horst Kraemer
2005-08-21 04:48:22 UTC
Permalink
Post by News Joseda
Hola, estoy aprendiendo C/C++ y he visto por internet aplicaciones en
las que hace uso de las funciones random() y randomize() para el
compilador de Borland.
En el entorno de dev-c++ no existen estas funciones en ninguna libreria.
Alguien me podría mandar su implementación.
Gracias y saludos
randomize() <=> srand(time(0))


int random ( int n )
/* 0 <= random < n */

{
return rand()/(RAND_MAX+1.0)*n;
}


Si RAND_MAX == 32767 == 0x7FFF

int random ( int n )
/* 0 <= random < n */

{
return ((unsigned long)rand()*n) >> 15;
}
--
Horst
Loading...