Visual Basic - Generar numeros aleatorios

Life is soft - evento anual de software empresarial
 
Vista:

Generar numeros aleatorios

Publicado por Reynaldo Herrera (41 intervenciones) el 25/10/2004 19:53:28
Hola!!!

Necesito generar numeros aleatorios en un rango pero que no se repitan, por ejemplo tengo 6 personas y a cada una de ellas le tengo que asignar un numero entre 1 y 8 como hago para que no les toque un mismo numero a varias personas.

podria ir revisando si el numero ya se genero y seguir generando hasta que de uno que no exista, pero me imagino que debe haber una forma mas eficiente.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Generar numeros aleatorios

Publicado por Ruri (583 intervenciones) el 25/10/2004 20:03:58
Reynaldo: La técnica que describís es la que se utiliza. Quizá haya un control que efectúe una operación similar, pero internamente hace eso. A lo sumo podés guardarlos en una cadena con un separador y utilizar la función instr para buscarlos. Por ejemplo

Private CadenaAleatoria 'a Nivel módulo

Private sub GenerarNumero
Dim n as long
Do
n=int(255*rnd + 1)
Loop Until (ExisteElNumero(n)=false)
CadenaAleatoria=CadenaAleatoria & "#" & n & "#"
End sub

Private Function ExisteElNumero(byval n as long) as boolean
ExisteElNumero=instr(1,CadenaAleatoria,"#" & n & "#",vbTextCompare)>0
End function

Seguramente guardar los valores en una matríz y recorrerla es más económico

Saludos Ruri
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Generar numeros aleatorios

Publicado por jlcastro (186 intervenciones) el 27/10/2004 23:38:15
te envio ejemplo atu correo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar