Foros del Web » Programando para Internet » ASP Clásico »

Como elegir entre unos números aleatoriamente

Estas en el tema de Como elegir entre unos números aleatoriamente en el foro de ASP Clásico en Foros del Web. Hola, Una selección a una base de datos me devuelve por ejemplo estos numeros: 23,45,44,39,76,41,3,87 ¿Cómo puedo aleatoriamente quedarme sólo con 2 de estos numeros? ...
  #1 (permalink)  
Antiguo 26/09/2007, 08:10
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 23 años, 6 meses
Puntos: 0
Como elegir entre unos números aleatoriamente

Hola,

Una selección a una base de datos me devuelve por ejemplo estos numeros:

23,45,44,39,76,41,3,87

¿Cómo puedo aleatoriamente quedarme sólo con 2 de estos numeros? H intentado con RND pero no lo he conseguido

GRacias

Laika
  #2 (permalink)  
Antiguo 26/09/2007, 08:18
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Re: Como elegir entre unos números aleatoriamente

Veamos...así rápido me viene a la mente un famoso procediemiento para obtener de manera aleatoria índices de un arreglo, asi que el primer paso sería convertir tu string en arreglo:

Código:
DIm indices
Dim arr
Dim separador
Dim max
Dim min
Dim unIndiceAleatorio

min = 0
separador = ","

indices = "23,45,44,39,76,41,3,87"
arr = Split(indices, separador)
max = uBound(arr)

'este es el truco
randomize
unIndiceAleatorio = Int((max - min + 1) * rnd + min)
Response.Write(unIndiceAleatorio)
Puedes hacerte una funciion y bueno, tendrás que controlar mas cosas como que sea arreglo el resultado del split y quizás puedes pasarle un argumento más a la función con un valor para que no te devuelva el mismo, y se llame a si misma en caso de que el valor a regresar sea el mismo del argumento, etc, pero la idea es esa.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
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 08:10.