[c]generador de numeros aleatoreos( se puede usar con la hora)

Iniciado por daryo, 22 Septiembre 2013, 17:30 PM

0 Miembros y 1 Visitante están viendo este tema.

daryo

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

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>

int aleatorio(int semilla);

int main()
{
int semilla=0; //si el valor de semilla es cero usara la hora para obtener numeros aleatorios
while(1==1)
  {
  semilla=aleatorio(semilla);
  printf("aleatorio %i\n",semilla);
  Sleep(1000);
  }
}

int aleatorio(int semilla)
{
int ContarDigitos,contador,multiplicar;
if(semilla==0)
{
  time_t FapTime;
  struct tm * ptm;
  time(&FapTime);
  ptm=gmtime ( &FapTime );
  semilla=(ptm->tm_min-5)*100+(ptm->tm_sec);
}
semilla+=1111;
semilla=semilla*semilla;
contador=0;
ContarDigitos=semilla;
while(ContarDigitos>0)
{
ContarDigitos=(int)ContarDigitos/10;
contador++;
}
if(contador<8)
{

    for(multiplicar=contador;multiplicar<8;multiplicar++)
    {
        semilla=semilla*10;
    }
}
semilla=(semilla/100)%10000;
return semilla;
}

buenas