elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ¿Problema con srand()?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Problema con srand()?  (Leído 3,542 veces)
Marovingio

Desconectado Desconectado

Mensajes: 12



Ver Perfil
¿Problema con srand()?
« en: 15 Septiembre 2010, 05:23 am »

  Bueno estoy haciendo un proyecto en VC++ 2008, y este modulo lo estoy probando en builder para luego meterlo al proyecto en VC++, por la cuestion de las gui  :silbar: ....

 Cuando el programa se ejecuta genera una serie de Ips Aleatorias, lo cierro y cuando lo vuelvo a ejecutar genera las mismas Ips Aleatorias como veran en la grafica ....

  


  

  Si el programa nunca se cerrara y la pc siempre estuviera conectada no habria problema pero si la apagan y la encienden el programa escaneara las mismas Ips y como veran eso no me sirve.......

  Aqui el code:

  
Código:
 void __fastcall TForm18::Button1Click(TObject *Sender)
{

 AnsiString Host;
 in_addr *o;
 char *p;
 hostent* hp;
 int ban,exitcode;
 WSADATA wsadata;
if (WSAStartup(MAKEWORD(1, 0), &wsadata) != 0)
ban= 0;
else
 {
  for(int i=0;i<=20;i++)
 {
 try
{
 Host=AnsiString(rand()%256)+"."+AnsiString(rand()%256)+"."+AnsiString(rand()%256)+"."+AnsiString(rand()%256);
 hp = gethostbyname(Host.c_str() );

 }
  catch(...)
 {
  hp = NULL;
 }
  if (hp == NULL)
int g=0;//Memo1->Lines->Add(Host+" No existe");
  else
{
if(EsacnearIPX(Host))
  Memo1->Lines->Add(Host+" Puerto 80 Disponible");
else
  Memo1->Lines->Add(Host+" Puerto 80 Cerrado");
}

  }
  }
 WSACleanup( );
}

  Las funciones random() y randomize() de stdlib.h me andan en Builder pero en Vc++ me dice algo asi como libreria desconocida, me inmagino que estas funciones usan la funcion rand() y por lo tanto tendre resultados similares, al parecer rand() genera numeros aleatorios a partir de datos del programa y por eso siempre es la misma frecuencia ....

  Necesito ayuda en esto especificamente en una manera de que el programa genere Ips aleatorias diferentes en cada ejecucion, estuve pensando en algo como:

  (GetTickCount()%256*rand()%256)%256;

  Pero no se si me funcione ...

  Alguna ayuda ..  :)

  PD: Mastico algo de Asm inline asi que una solucion por esta via me servira  :)


« Última modificación: 15 Septiembre 2010, 05:37 am por Marovingio » En línea

Littlehorse
All the world's a stage
Moderador
***
Desconectado Desconectado

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: ¿Problema con srand()?
« Respuesta #1 en: 15 Septiembre 2010, 05:39 am »

Código
  1. srand(time(NULL));

srand
time


Citar
For every different seed value used in a call to srand, the pseudo-random number generator can be expected to generate a different succession of results in the subsequent calls to rand.
Two different initializations with the same seed, instructs the pseudo-random generator to generate the same succession of results for the subsequent calls to rand in both cases.

Igualmente si el proyecto es lo suficientemente serio tal vez debas considerar utilizar PRNG mas robustos.

Saludos


En línea

An expert is a man who has made all the mistakes which can be made, in a very narrow field.
Marovingio

Desconectado Desconectado

Mensajes: 12



Ver Perfil
Re: ¿Problema con srand()?
« Respuesta #2 en: 15 Septiembre 2010, 05:48 am »

  Perfecto ahora si funciona bien .....

  Gracias Littelhorse   :D
En línea

Littlehorse
All the world's a stage
Moderador
***
Desconectado Desconectado

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: ¿Problema con srand()?
« Respuesta #3 en: 15 Septiembre 2010, 05:51 am »

De nada.  :D
En línea

An expert is a man who has made all the mistakes which can be made, in a very narrow field.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
programas con srand y rand
Programación C/C++
lokita_sarah 1 2,280 Último mensaje 1 Diciembre 2011, 04:28 am
por ralymontes
Srand para que den dos numeros diferentes? « 1 2 »
Programación C/C++
Anastacio 12 9,241 Último mensaje 19 Febrero 2012, 22:16 pm
por Anastacio
Como utilizar dos veces la funcionn srand(time(NULL))
Programación C/C++
BJM 3 7,279 Último mensaje 19 Enero 2013, 11:58 am
por Puntoinfinito
Problema con rand y srand en este codigo
Programación C/C++
pacosn1111 6 2,892 Último mensaje 26 Abril 2015, 20:09 pm
por Miky Gonzalez
Duda cstdlib y srand (C++)
Programación C/C++
K-YreX 1 1,656 Último mensaje 25 Noviembre 2018, 08:11 am
por AlbertoBSD
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines