• Martes 2 de Julio de 2024, 16:08

Autor Tema:  Re: NUMEROS ALEATORIOS EN GCC  (Leído 1999 veces)

Boa

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: NUMEROS ALEATORIOS EN GCC
« en: Viernes 14 de Noviembre de 2003, 08:16 »
0
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:

ToTeX

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
    • http://www.totex.cl
Re: NUMEROS ALEATORIOS EN GCC
« Respuesta #1 en: Viernes 14 de Noviembre de 2003, 19:05 »
0
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
  1.  
  2. #include <stdlib.h>
  3. #include <stdlib.h>
  4. #include <time.h>
  5.  
  6. #define MIN 15
  7. #define MAX 20
  8. #define N 5
  9.  
  10. int main()
  11. {
  12.     int i;
  13.     srand((unsigned int)time(0));
  14.     for(i=0;i<N;i++)
  15.         printf("%dn",(rand()%(MAX-MIN+1))+MIN);
  16.     return 0;
  17. }
  18.  
  19.  


Si lo quieres en C+-:P
 
Código: Text
  1.  
  2. #include <iostream>
  3. #include <cstdlib>
  4. #include <ctime>
  5.  
  6. #define MIN 15
  7. #define MAX 20
  8. #define N 5
  9.  
  10. using namespace std;
  11.  
  12. int main()
  13. {
  14.     srand((unsigned int)time(0));
  15.     for(int i=0;i<N;i++)
  16.         cout<<(rand()%(MAX-MIN+1))+MIN<<endl;
  17.     return 0;
  18. }
  19.  
  20.  
Salu2... ToTeX
[ www.totex.cl ]

Boa

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: NUMEROS ALEATORIOS EN GCC
« Respuesta #2 en: Sábado 15 de Noviembre de 2003, 14:47 »
0
genial man.. te pasaste!! cualkier cosa!! ke kieras recures a mi xD

Boa

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
NUMEROS ALEATORIOS EN GCC
« Respuesta #3 en: Domingo 16 de Noviembre de 2003, 04:00 »
0
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:(