Foros del Web » Programando para Internet » Javascript »

Problema con dos números aleatorios

Estas en el tema de Problema con dos números aleatorios en el foro de Javascript en Foros del Web. Hola, Tengo un problema que me supera, seguro que para muchos de vosotros en muy sencillo, si algun gurú pudiera ayudarme con un ejemplo le ...
  #1 (permalink)  
Antiguo 03/08/2009, 02:45
 
Fecha de Ingreso: enero-2009
Mensajes: 5
Antigüedad: 15 años, 3 meses
Puntos: 0
Problema con dos números aleatorios

Hola,

Tengo un problema que me supera, seguro que para muchos de vosotros en muy sencillo, si algun gurú pudiera ayudarme con un ejemplo le estaría agradecida muchisimo.

El problema es el siguiente:

Tengo un array con dos valores (array = {0,0}) que se generan aleatoriamente, pero mi problema es que el valor de array[1] nunca puede ser menor que el valor del array[0].

Estoy usando un bucle for para generar los dos valores aleatorios,

Muchas gracias por su tiempo
  #2 (permalink)  
Antiguo 03/08/2009, 02:58
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 6 meses
Puntos: 101
Respuesta: Problema con dos números aleatorios

Hola,
No entiendo tu problema :S
Pero te corrijo algo que tambien me paso :
Código javascript:
Ver original
  1. var variable1={}; // Esto no es un array, es un objeto
  2. var variable2=[]; // Esto si es un array
Código javascript:
Ver original
  1. var objeto={"nombre":"Pato","nick":"Pato12"}; // Se lo llama haci objeto.nombre o tambien puede ser objeto['nombre']
  2. var array=["Pato","Pato12"]; // se lo llama array[N]
  3. document.write("Nombre llamando al objeto: "+objeto.nombre+" | Nombre llamando al array: "+array[0]+"<br>");
  4. document.write("Nick llamando al objeto: "+objeto.nick+" | Nick llamando al array: "+array[1]);
Espero aver explicado bien xD
Suerte
Salu2
__________________
Half Music - www.halfmusic.com
  #3 (permalink)  
Antiguo 03/08/2009, 03:25
 
Fecha de Ingreso: enero-2009
Mensajes: 5
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Problema con dos números aleatorios

Hola gracias por la aclaración,

Mi problema no es exáctamente de javascript, aunque es muy parecido, está basado en objetos generalmente, las variables no se declaran con var entre otras cosas en este entorno.

como array me refiero a que es un conjunto de valores, en mi problema dos números que se generan aleatoriamente, y para crear un array, lo tengo que hacer así :

declare array = {0.25, 0.99};

siendo

array[0] = 0.25
array[1] = 0.99

Para generar los dos números aleatorios tengo que hacer lo siguiente:
Código:
declare i, max, array;

numeros = {0,0}; 
max = 2;

for(i=0; i<max;i++){

numeros[i] = random();
}
La función random() genera valores aleatorios entre 0 y 1, el problema es que muchas veces obtengo un número aleatorio en la variable numeros[1] menor que el de numeros[0], por ejemplo:

numeros = {0.5, 0.1}

Y lo que me gustaría es que el valor de numeros[1] nunca sea menor que el valor de numeros[0] cuando el script genera los valores aleatorios.

Espero haberme explicado mejor y gracias de nuevo por cualquier ayuda.
  #4 (permalink)  
Antiguo 03/08/2009, 14:09
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 6 meses
Puntos: 101
Respuesta: Problema con dos números aleatorios

Hola,
Prueba con un while:
Código javascript:
Ver original
  1. var maximo=2,numeros=[];
  2. for(var i=0; i<maximo;i++){
  3.     numeros[i]=Math.random();
  4.     while(i==1 && numeros[i]>numeros[i-1])
  5.         numeros[i]=Math.random();
  6. }
  7. alert(numeros.join(','));
Adapta eso a tu codigo.
Suerte
Salu2
__________________
Half Music - www.halfmusic.com
  #5 (permalink)  
Antiguo 04/08/2009, 00:58
 
Fecha de Ingreso: enero-2009
Mensajes: 5
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Problema con dos números aleatorios

Muchisimas gracias Pato12

funciona!!!

Lo único que he tenido que hacer es cambiar la condición > en el while por < y funciona correctamente, gracias por dedicar parte de tu tiempo en ayudarme.
  #6 (permalink)  
Antiguo 04/08/2009, 11:18
Avatar de uselox  
Fecha de Ingreso: agosto-2008
Ubicación: Lima, Perú
Mensajes: 168
Antigüedad: 15 años, 7 meses
Puntos: 12
De acuerdo Respuesta: Problema con dos números aleatorios

Otra solucion seria:

Código HTML:
<script type="text/javascript">
var maximo = 2, numeros = [];
for(var i = 0; i<maximo; i++)
	numeros[i] = Math.random();
numeros[0] > numeros[1] ? numeros = [numeros[1], numeros[0]] : '';
alert(numeros.join(', '));
</script> 

Última edición por uselox; 04/08/2009 a las 11:24
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:58.