Función rand()
int rand(void);
La función rand calcula un número aleatorio en el intervalo entre 0 y RAND_MAX. El valor de
RAND_MAX es una constante predefinida que representa el mayor valor que puede devolver la
función rand. En Dev-C++ este valor es 32767.
Ejemplo: Programa C++ que genera 20 números aleatorios.
#include <iostream>
using namespace std;
int main()
{
int i;
cout << "20 numeros generados aleatoriamente:\n";
for(i=1; i<=20; i++)
cout << rand() << endl;
system("pause");
}
La función rand genera números a partir de un valor inicial o semilla. Si ejecutamos el programa
anterior varias veces seguidas obtendremos siempre la misma secuencia de números. Para
que esto no se produzca debemos cambiar el valor inicial de la semilla cada vez que se ejecute
el programa. Esto se hace con la función srand.
__________________________________________________________________
Función srand()
void srand(unsigned int semilla);
La función srand fija el punto de comienzo para generar números aleatorios. El generador de
números aleatorios obtiene los números en función del valor de su argumento. Cuando esta
función no se utiliza, el valor del primer número generado siempre es el mismo para cada
ejecución (corresponde a un argumento de valor 1).
Para obtener números aleatorios mediante estas funciones, es recomendable utilizar como
semilla un valor que cambie constantemente, como por ejemplo, el valor devuelto por la
función time (librería ctime). Esta función devuelve el número de segundos transcurridos desde
las 0 horas del 1 de Enero de 1970.
Podemos comprobar el funcionamiento modificando el ejemplo anterior para que genere
números diferentes en cada ejecución:
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
srand(time(NULL));
int i;
cout << "20 numeros generados aleatoriamente:\n";
for(i=1; i<=20; i++)
cout << rand() << endl;
system("pause");
}
Para generar números aleatorios entre dos límites DESDE – HASTA utilizaremos la siguiente
expresión:
numero = aleatorio = rand()%(HASTA-DESDE+1)+DESDE;
Ejemplo: Programa C++ que genera números aleatorios entre 4 y 10. La cantidad de números a
generar se pide por teclado
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
srand(time(NULL));
int i, n, aleatorio, DESDE=4, HASTA=10;
cout << "Numeros aleatorios entre " << DESDE << " y " << HASTA << endl;
cout << "Cuantos numeros aleatorios quiere generar? ";
cin >> n;
for (i = 1; i <= n; i ++)
{
aleatorio = rand()%(HASTA-DESDE+1)+DESDE;
cout << aleatorio << " ";
}
cout << endl;
system("pause");
}
http://ejercicioscpp.blogspot.com/2014/11/generar-numeros-aleatorios-en-c.html
Rand()
Dentro de la librería cstdlib existe una función que nos servirá para obtener
números al azar conocido como "rand" del inglés random que significa azar. No
es lo mismo obtener un numero al azar que obtener un numero al azar dentro
de un rango por ejemplo entre 0 a 10 o entre 1 a 1000, la función rand también
nos permitirá configurar dicho rango.
Este código puede ser usado sin importar el IDE (Codeblocks, Dev C++, Visual
Studio...), siempre y cuando se haga la llamada a la librería cstdlib, primero les
enseñare como funciona para posteriormente añadir algunos ejemplos.
Rand() C++ ¿cómo funciona?
Esta función hace uso de lo que se conoce como semilla, una semilla es un
numero al azar que asignaremos dentro de la función srand (no confundir
con rand) la "s" en la palabra "srand" hace referencia a seed en ingles significa
semilla, para que la semilla sea al azar y esta pueda cambiar
constantemente haremos uso de la variable time y por esto también
tenemos que importar la librería ctime, sin una semilla no se puede usar la
variable rand, y si la semilla es estática también lo será el resultado final por
tanto no existirá un numero al azar, mejor veamos el ejemplo más sencillo sin
nada extra.
https://www.codigazo.com/en-c/como-usar-funcion-rand-en-c
Numeros Aleatorios (Random)
Los numeros Random apesar de no ser parte de la evaluacion de OMJal, el conocerlos si te servirá
bastante para practicar la estructura de control que acabas de conocer
El "random" es un numero aleatorio que genera la computadora con el cual el usuario puede realizar
ciertos programas por lo general de tipo numerico y juegos de azar. Son 2 instrucciones las qeu se utilizan
para generar numeros aleatorios "reales":
srand((unsigned)time(NULL));
Esta instruccion se coloca al inicio del programa e indica que elprograma tome la "semilla" para generar
su random basada en la función de la hora del procesador.
num=rand()%10+1;
Donde "rand" es la funcion para generar un numero aleatorio,
%10 indica cual es el rango de numeros a generar ( en este caso del 0 al 9 )
+1 indica que inicia en el 1(en este gaso generaria número del 1 al 10)
Ejemplo R1
Programa que genera un numero Random para simular un dado (6 caras)
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
srand((unsigned)time(NULL));
int num, n;
cout<<"Escoge numero"<<endl;
cin>> num;
n=rand()%6+1;
cout<<"El numero es "<<n<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
http://www.omijal.org/pagina_c/random.html
Leonardo David Rivera Hernandez