En VB, ¿cómo generar aleatoriamente 10 números aleatorios entre 0 y 100 y ordenarlos de pequeño a grande?
El método de clasificación por burbujas está disponible:
El código es el siguiente:
'No repetir la clasificación de números aleatorios
'Agregar comando1 Command2 Command3Option Explícito Dim i&, j&, k&, t&, Trec&, Arr&(), RndVal&, TmpVal&, S Private Sub Form_Load()
Command1.Caption = "Seleccione un número aleatorio"
Command2.Caption = "Ordenar de pequeño a grande"
Command3.Caption = "Ordenar de grande a pequeño"
'*********** ******* ********************** Organizar la ubicación de los controles
Me.Move (Screen.Width - Me. Ancho) \ 2, (Pantalla .Altura - Me.Altura) \ 2
Elija 20 números aleatorios entre 1 - 100
Trec = 10 Fin Sub Comando Sub Privado1_Click() S = GetRnd(1, 100 , Trec) Me.Cls
For i = 0 To Trec - 1 Print S(i) Next i End Sub Private Sub Command2_Click()
'** ***** **************** De pequeño a grande (método de clasificación de burbujas)
Me.Cls For i = 0 To Trec - 1 k = i Para j = i + 1 A Trec - 1 Si Arr(k) > Arr(j) Entonces k = j
Siguiente j t = Arr(i): Arr(i) = Arr(k): Arr (k) = t Imprimir Arr(i) Siguiente i
Fin Sub Private Sub Command3_Click()
'****************** ****** *** Ordenar de grande a pequeño (método de clasificación por burbujas)
Me.Cls Para i = 0 Para Trec - 1 k = i Para j = i + 1 Para Trec - 1 Si Arr(k) < Arr(j) Entonces k = j
Siguiente j t = Arr(i): Arr(i) = Arr(k): Arr(k) = t Imprimir Arr(i) Siguiente i Fin de la función pública secundaria GetRnd(MinVal&, MaxVal&, Qty&) As Long() Aleatorizar para i = MinVal a MaxVal
ReDim Preserve Arr&(i) Arr(i) = i Siguiente para i = MinVal a MaxVal
RndVal = Int(Rnd * (MaxVal - MinVal + 1)) + MinVal TmpVal = Arr(i)= Arr(RndVal)
Arr(RndVal) = TmpVal Siguiente para i = 0 A Cant. - 1 Arr(i) = Arr(i + MinVal) Ne
xt GetRnd = Arr()
Finalizar función