Numeros aleatorios
Quiero tener numeros aleatorios enteros entre (1- 8) y los cuales no se repitan.
Ejemplo:
5,7,8,4,1,3,6,2.
QUE NO SE REPITAN
GRACIAS.
Ejemplo:
5,7,8,4,1,3,6,2.
QUE NO SE REPITAN
GRACIAS.
no te entiendo muy bien:
1º deseas que salga un numero al azar entre 1 y 8?
2º deseas que estos esten desordenados?
con respecto a lo primero puedes usar Rnd, este de devuelve un numero entre 0 y 1. AsÃ:
private sub . . . .
dim numAzar as integer
Randomize
numAzar=8*Rnd
end sub
Con respecto a lo segundo no sabrÃa ayudarte en este momento, tendrÃa que hacer algunas pruebas.
saludos
1º deseas que salga un numero al azar entre 1 y 8?
2º deseas que estos esten desordenados?
con respecto a lo primero puedes usar Rnd, este de devuelve un numero entre 0 y 1. AsÃ:
private sub . . . .
dim numAzar as integer
Randomize
numAzar=8*Rnd
end sub
Con respecto a lo segundo no sabrÃa ayudarte en este momento, tendrÃa que hacer algunas pruebas.
saludos
Hola,
con este ejemplo obtienes un número aleatorio entre 1 y 8
Dim limiteInf As Integer
Dim limiteSup As Integer
Dim resultadoAleatorio As Integer
limiteSup = 8
limiteInf = 1
Randomize
resultadoAleatorio = Int((limiteSup - limiteInf + 1) * Rnd + limiteInf)
MsgBox resultadoAleatorio
y si no quieres que se repita.... tendrás que guardando los números que vayas obteniendo en un array e ir comparando el nuevo que generes con los que tienes guardados para comprobar que no se repita.
salu2
sdemingo
con este ejemplo obtienes un número aleatorio entre 1 y 8
Dim limiteInf As Integer
Dim limiteSup As Integer
Dim resultadoAleatorio As Integer
limiteSup = 8
limiteInf = 1
Randomize
resultadoAleatorio = Int((limiteSup - limiteInf + 1) * Rnd + limiteInf)
MsgBox resultadoAleatorio
y si no quieres que se repita.... tendrás que guardando los números que vayas obteniendo en un array e ir comparando el nuevo que generes con los que tienes guardados para comprobar que no se repita.
salu2
sdemingo
Quisiera que los numeros aleatorios entre (1-8) no se repitan. Ejemplo: 5,8,7,3,6,1,2,4.(que solo parezcan 8 numeros y que estos no sean iguales).
No quiero que salgan por ejmplo: 5,8,5,6,4,2,3,7 (el "5" se repite).
Gracias, ojalá me puedan ayudar.
No quiero que salgan por ejmplo: 5,8,5,6,4,2,3,7 (el "5" se repite).
Gracias, ojalá me puedan ayudar.
Dim numeros() As Integer
Dim i As Integer
Private Sub Command1_Click()
Dim limiteInf As Integer
Dim limiteSup As Integer
Dim resultadoAleatorio As Integer
Dim repetido As Boolean
Dim n As Integer
limiteSup = 8
limiteInf = 1
repetido = True
Do While repetido
repetido = False
Randomize
resultadoAleatorio = Int((limiteSup - limiteInf + 1) * Rnd + limiteInf)
For n = LBound(numeros) To UBound(numeros)
If numeros(n) = resultadoAleatorio Then
repetido = True
Exit For
End If
Next n
Loop
i = i + 1
ReDim Preserve numeros(i)
numeros(i) = resultadoAleatorio
Label1.Caption = Label1.Caption & resultadoAleatorio & vbCrLf
If UBound(numeros) = 8 Then
MsgBox "ya están todos lo números"
End
End If
End Sub
Private Sub Form_Load()
i = 0
ReDim Preserve numeros(i)
numeros(i) = 0
End Sub
Dim i As Integer
Private Sub Command1_Click()
Dim limiteInf As Integer
Dim limiteSup As Integer
Dim resultadoAleatorio As Integer
Dim repetido As Boolean
Dim n As Integer
limiteSup = 8
limiteInf = 1
repetido = True
Do While repetido
repetido = False
Randomize
resultadoAleatorio = Int((limiteSup - limiteInf + 1) * Rnd + limiteInf)
For n = LBound(numeros) To UBound(numeros)
If numeros(n) = resultadoAleatorio Then
repetido = True
Exit For
End If
Next n
Loop
i = i + 1
ReDim Preserve numeros(i)
numeros(i) = resultadoAleatorio
Label1.Caption = Label1.Caption & resultadoAleatorio & vbCrLf
If UBound(numeros) = 8 Then
MsgBox "ya están todos lo números"
End
End If
End Sub
Private Sub Form_Load()
i = 0
ReDim Preserve numeros(i)
numeros(i) = 0
End Sub
