Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: daryo en 22 Septiembre 2013, 17:30 pm



Título: [c]generador de numeros aleatoreos( se puede usar con la hora)
Publicado por: daryo en 22 Septiembre 2013, 17:30 pm
hoy me levante con ganas de programar algo y bueno salio esto:
en caso de querer usar la hora usa los minutos y los segundos para generar el numero

el algoritmo es el de los cuadrados medios un poco modificado por los errores que poseia este en su momento

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #include <windows.h>
  5.  
  6. int aleatorio(int semilla);
  7.  
  8. int main()
  9. {
  10. int semilla=0; //si el valor de semilla es cero usara la hora para obtener numeros aleatorios
  11. while(1==1)
  12.  {
  13.  semilla=aleatorio(semilla);
  14.  printf("aleatorio %i\n",semilla);
  15.  Sleep(1000);
  16.  }
  17. }
  18.  
  19. int aleatorio(int semilla)
  20. {
  21. int ContarDigitos,contador,multiplicar;
  22. if(semilla==0)
  23. {
  24.  time_t FapTime;
  25.  struct tm * ptm;
  26.  time(&FapTime);
  27.  ptm=gmtime ( &FapTime );
  28.  semilla=(ptm->tm_min-5)*100+(ptm->tm_sec);
  29. }
  30. semilla+=1111;
  31. semilla=semilla*semilla;
  32. contador=0;
  33. ContarDigitos=semilla;
  34. while(ContarDigitos>0)
  35. {
  36. ContarDigitos=(int)ContarDigitos/10;
  37. contador++;
  38. }
  39. if(contador<8)
  40. {
  41.  
  42.    for(multiplicar=contador;multiplicar<8;multiplicar++)
  43.    {
  44.        semilla=semilla*10;
  45.    }
  46. }
  47. semilla=(semilla/100)%10000;
  48. return semilla;
  49. }
  50.