• Viernes 1 de Noviembre de 2024, 10:35

Autor Tema:  Numero Aleatorio  (Leído 1470 veces)

ismaeluco

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Numero Aleatorio
« en: Martes 31 de Enero de 2006, 22:52 »
0
Os sonará a chorrada pero es que no me acuerdo de como generar un número aleatorio con visual studio.

Coneira

  • Nuevo Miembro
  • *
  • Mensajes: 16
    • Ver Perfil
Re: Numero Aleatorio
« Respuesta #1 en: Miércoles 1 de Febrero de 2006, 02:14 »
0
Hola ismaeluco, con este código puedes generar números aleatorios, pero antes:
Código: Text
  1. #include <time.h>
  2.  
Eso ya sabes en las librerias .....
Código: Text
  1. srand(time(NULL));
  2.  
Eso en el main ()
Código: Text
  1.  f=1+rand()%6;
  2.  
Y ya pues eso donde deseas tener los números aleatorios, ya sabes que los límites desde que número hasta que número se colocan en la posición donde esta el "1" y el "6". esu es todo ..... bye bye  ;)

ifmaster

  • Miembro activo
  • **
  • Mensajes: 51
    • Ver Perfil
Re: Numero Aleatorio
« Respuesta #2 en: Miércoles 8 de Febrero de 2006, 21:31 »
0
Hola solo me gustaria añadir, que el time(NULL) devuelve en tiempo en segundos, por lo que si haces un for para generar varios numeros aleatorios, es probable que todos sean los mismos (por que en el srand, la semilla es el mismo segundo), en cambio si usas la función timeGetTime() (debes incluir windows.h creo) dentro del srand( srand(timeGetTime()) ) el tiempo te es devuelto en milisegundos y el valor "random" sera mas creible.
Tambien me gustaria decir que este metodo de conseguir numeros aleatorios es bastante lento y si se necesita que la aplicación sea lo mas rapida posible (como es un videojuego) es mejor crearse arrays con numeros aleatorios previamente creados (ya sea a mano o usando lo anterior solo una vez al construir el objeto) y luego tener una variable que te indique la posicion del array en la que te encuentras y al pedir un numero aleatorio, devuelves el valor del array con la posición del entero, y sumas uno a esa variable, este metodo es mas fastidioso pero es mas rapido.
Espero a ver sido de ayuda, salu2.