Programación VB para desplazar circularmente 10 elementos en una matriz unidimensional hacia la derecha en n bits
' Maneja la asignación a la matriz tú mismo, y escribí dos funciones de desplazamiento hacia la izquierda y hacia la derecha para ti.
Opción explícita
Sub privada Form_Activate()
Dim arr(1 a 10) como cadena, i tan larga, s como cadena
Para i = 1 Para UBound(arr)
arr(i) = i
s = s & arr(i) & ","
Siguiente
Imprimir s
RightMove arr, 3 'Cambiar la matriz 3 veces
s = ""
Para i = 1 A UBound(arr)
s = s & arr(i) & ","
Siguiente
Imprimir s
Fin de subfunción Movimiento izquierdo (arr, n) 'Desplazamiento a la izquierda
Dim temp() Como cadena, i As Long
n = n Mod UBound(arr)
ReDim temp( 1 a UBound(arr))
Para i = n + 1 a UBound(arr)
temp(i - n) = arr(i)
Siguiente
For i = 1 To n
temp(UBound(arr) - n + i) = arr(i)
Siguiente
Para i = 1 a UBound(arr)
arr(i) = temp(i)
Siguiente
Finalizar funciónFunción RightMove(arr, n) 'Shift right
Dim temp() As String, i As Long
n = n Mod UBound(arr) 'El desplazamiento puede exceder el límite superior de la matriz, entiéndalo usted mismo
ReDim temp(1 a UBound(arr))
Para i = UBound(arr) - n + 1 a UBound(arr)
temp(i - UBound(arr) + n) = arr(i)
Siguiente
Para i = 1 Para UBound(arr) - n
temp(n + i ) = arr(i)
Siguiente
Para i = 1 a UBound(arr)
arr(i) = temp(i)
Siguiente
Función final