• Lunes 29 de Abril de 2024, 20:43

Autor Tema:  Numeros Aleatorios  (Leído 2463 veces)

Bgirl

  • Miembro activo
  • **
  • Mensajes: 62
    • Ver Perfil
Numeros Aleatorios
« en: Viernes 28 de Mayo de 2004, 15:36 »
0
Como puedo generar numeros aleatorios sin utilizar el antiguo procedimiento propuesto por jhon neuman, llamado el centrto del cuadrado????

Salu2 :hola:
[size=109]Hack To Construct, Never To Destroy!!!![/size]

Ruben3d

  • Miembro HIPER activo
  • ****
  • Mensajes: 710
  • Nacionalidad: es
    • Ver Perfil
    • Web personal
Re: Numeros Aleatorios
« Respuesta #1 en: Viernes 28 de Mayo de 2004, 16:10 »
0
Hola.

Construye un generador congruente lineal. Aqui puedes encontrar información:
Linear Congruent Method

Un saludo.

Ruben3d

Noel Solw

  • Miembro activo
  • **
  • Mensajes: 81
    • Ver Perfil
Re: Numeros Aleatorios
« Respuesta #2 en: Viernes 28 de Mayo de 2004, 17:00 »
0
Puedes utilizar el sistema de Borland C y C++.
Este es un programita en C++, ver 4.5, que genera 20 numeros aleatorios, entre o y 99, incluidos.


#include <iostream.h>
#include <iomanip.h>
#include <stdlib.h>

void main()
{
   randomize(); // iniciacion del generador aleatorio
   for(int i = 1;i <= 20;i++)
      cout << setw(10) << i << " : " << random(100) << endl;
}

DEKAN

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Numeros Aleatorios
« Respuesta #3 en: Viernes 28 de Mayo de 2004, 18:53 »
0
Otra opcion para generar numeros aleatorios imprime 20 veces numeros aleatorios entre 0 y 1000, utiliza time(NULL) porque aveces el rand no es suficiente y te puede generar los mismos numeros cuando los vuelves a generar por ejemplo si lo metes en un do -while a la segunda vez te puede generar los mismos numeros si utilizas solamente el rand, porque aveces se quedan en memoria,por eso con esta instruccion "time(NULL)" siempre te generara numeros diferentes, ya que se guia por el reloj de la compu. Espero te sea de utilidad  :P


#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>

void main() {

int variable=0;

//para que genere numeros siempre diferentes, ojo tiene que estar fuera del for
//porque si no te genera error!

srand(time(NULL));  

for(int i=0; i<=20; i++) {  //contador para que lo haga 20 veces

//ejemplo quiero numeros aleatorios hasta el numero 1000

variable=rand()%1000;

cout<<variable; //se imprime 20 veces un numero diferente

}
return 0;
}

Bgirl

  • Miembro activo
  • **
  • Mensajes: 62
    • Ver Perfil
Re: Numeros Aleatorios
« Respuesta #4 en: Miércoles 2 de Junio de 2004, 22:23 »
0
gracias X Todo... B)
[size=109]Hack To Construct, Never To Destroy!!!![/size]

QliX=D!

  • Miembro MUY activo
  • ***
  • Mensajes: 214
    • Ver Perfil
Re: Numeros Aleatorios
« Respuesta #5 en: Jueves 3 de Junio de 2004, 01:15 »
0
Pero recorda que los generadores congruenciales lineales son medios flacos, de hecho son lineales, si sabes el numero oanterior podes saber los siguientes.
por ende te diria que trates de usar otro metodo a menos de que sea para alguna prueba, pero si es para lago que tenga que ver con criptografia, olvidalo.
QliX=D! - From the top of Tsunami

Ruben3d

  • Miembro HIPER activo
  • ****
  • Mensajes: 710
  • Nacionalidad: es
    • Ver Perfil
    • Web personal
Re: Numeros Aleatorios
« Respuesta #6 en: Domingo 6 de Junio de 2004, 20:49 »
0
Cita de: "QliX=D!"
por ende te diria que trates de usar otro metodo a menos de que sea para alguna prueba, pero si es para lago que tenga que ver con criptografia, olvidalo.

Y dale, otra vez liado  :lol:

Un saludo.

Ruben3d