Cita:
Iniciado por cronopiomx Hola, lo que pides resulta un poco dificil pues para cada vez que compiles tu solucion deberia haber un numero o semilla por donde empezar distinto al anterior.
Existen métodos matemáticos que resuelven este problema y lo simulan, como son "Metodos de Congruencia" y "Cuadrados Medios". Estos metodos realizan calculos de numeros aleatorios U(0,1), siempre que desde 1 inicio exista un ' r0 ' o semilla inicial, aqui te pongo programado en C++, un ejemplo usando Metodo Congruencial.
Código:
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
double r0 = 11; //semilla inicial
double resultado;
int n;
cout<<"¿Cuantos números aleatorios necesitas?\n";
cin>>n;
for (int i =0; i < n; i++)
{
resultado = fmod(( 5 + (9*(r0))),12.0);
cout<<resultado/12.0<<endl;
r0 = resultado;
}
}
Para mas informacion sobre estos metodos puedes ver este link que son 2 img que he puesto para que veas en teoria como funcionan, esta muy bueno.
[URL="http://www.sendspace.com/file/iadinv"]http://www.sendspace.com/file/iadinv[/URL]
En ultima instancia lo que podrias hacer es tratar de buscar como esta implementado la funcion rand ().
saludos
cronos
Que tal si ponemos como semilla el numero de repeticiones que nos pide, así por lo menos tendríamos algunas diferencias cada vez que se pone una cantidad diferente; la otra es una pequeña función que vi, que utiliza (time(NULL)), que se supone que utiliza de semilla el reloj del sistema, así cada vez es un número diferente, la duda está en si esta función es posible sin utilizar el RAN. Espero una respuesta pronta. Saludos.