Programación General => C/C++ => Mensaje iniciado por: Boa en Viernes 14 de Noviembre de 2003, 08:16
Título: Re: NUMEROS ALEATORIOS EN GCC
Publicado por: Boa en Viernes 14 de Noviembre de 2003, 08:16
Necesito que me devuelva numeros aleatorio desde un valor hasta otro valor por ejemplo numeros aleatorio dese el 46 hasta el 90 en gcc linux please si alguiens abe:ayuda:
Título: Re: NUMEROS ALEATORIOS EN GCC
Publicado por: ToTeX en Viernes 14 de Noviembre de 2003, 19:05
Para generar numeros aleatorios primero llamas a srand() con algun parametro(entero sin signo). Segun ese parametro srand() genera una lista de numeros aleatorios que despues puedes ir rescatando con rand(). Para siempre generar una lista de numero distintos se le pasa como parametro la hora, para eso la funciona time(). Los numeros que se generan estan en el rango 0-RAND_MAX, asi que tienes que manejar un poco el numero aleatorio para obtenerlo en un rango, lo que hice yo fue aplicarle modulo al rango+1, y despues le sumo el minimo. Por ejemplo para obtener numeros entre 15 y 20 tomas un numero con rand(), le aplicas mod 6(20-15+1) y asi siempre obtienes 0,1,2,3,4 o 5, y le sumas 15. Como veras 15+0=15 y 15+5=20, el rango de numero:o
En C:
Código: Text
#include <stdlib.h>
#include <stdlib.h>
#include <time.h>
#define MIN 15
#define MAX 20
#define N 5
int main()
{
int i;
srand((unsigned int)time(0));
for(i=0;i<N;i++)
printf("%dn",(rand()%(MAX-MIN+1))+MIN);
return 0;
}
Si lo quieres en C+-:P
Código: Text
#include <iostream>
#include <cstdlib>
#include <ctime>
#define MIN 15
#define MAX 20
#define N 5
using namespace std;
int main()
{
srand((unsigned int)time(0));
for(int i=0;i<N;i++)
cout<<(rand()%(MAX-MIN+1))+MIN<<endl;
return 0;
}
Título: Re: NUMEROS ALEATORIOS EN GCC
Publicado por: Boa en Sábado 15 de Noviembre de 2003, 14:47
genial man.. te pasaste!! cualkier cosa!! ke kieras recures a mi xD
Título: NUMEROS ALEATORIOS EN GCC
Publicado por: Boa en Domingo 16 de Noviembre de 2003, 04:00
Tengo un problem en el compilador de GCC(linux) no me funciona el random!!! lo necesito pa linux siempre tengo esos ataos ni tengo linux:(