El desplazamiento c clico de elementos de matriz es una operaci n com n cuando se trabaja con datos. Le permite reordenar los elementos de la matriz desliz ndolos hacia la izquierda en un n mero determinado de posiciones. Por ejemplo, si tenemos una matriz [1, 2, 3, 4, 5] y queremos moverlo 2 posiciones a la izquierda, luego obtenemos una matriz [3, 4, 5, 1, 2].
En este art culo, veremos un ejemplo de un programa de Python que implementa un cambio c clico de los elementos de una matriz a la izquierda en las posiciones R. Para hacer esto, usaremos los m todos de corte (slicing) y trabajar con matrices en Python, como append() y pop().
El programa se escribir en Python, que es uno de los lenguajes de programaci n m s populares y tiene una sintaxis simple y clara.
- Descripci n de la tarea
- Soluci n de problemas
- Algoritmo del programa
- C digo fuente del programa
- Ejemplo de programa
- Pregunta-respuesta
Descripci n de la tarea
El objetivo de la tarea es implementar un programa en Python que realice un desplazamiento c clico de los elementos de la matriz hacia la izquierda en un n mero determinado de pasos.
Entrada: matriz de n meros arr y n mero de pasos de desplazamiento r.
Datos de salida: una matriz de n meros obtenida despu s de desplazar c clicamente los elementos de la matriz original a la izquierda en R pasos.
Ejemplo:
| Datos de entrada | Datos de salida |
|---|---|
| arr = [1, 2, 3, 4, 5], r = 2 | [3, 4, 5, 1, 2] |
| arr = [7, 9, 2, 5], r = 1 | [9, 2, 5, 7] |
Puede usar bucles y operaciones de lista como append (), pop (), insert () para resolver una tarea.
Soluci n de problemas
Para resolver el problema, debe implementar una funci n que realice un desplazamiento c clico de los elementos de la matriz a la izquierda por un n mero determinado de elementos.
Algoritmo de soluci n:
- Aceptar la matriz de entrada y el n mero de elementos para el desplazamiento.
- Dentro de la funci n, crear una matriz temporal igual a la matriz original.
- Eliminar los primeros R elementos de la matriz temporal.
- Adjuntar elementos eliminados al final de la matriz temporal.
- Devolver la matriz resultante como resultado.
Ejemplo de implementaci n de la funci n:
`python
def shift_array_left(arr, r):
temp_arr = arr.copy()
temp_arr[:r] = []
temp_arr += arr[:r]
return temp_arr
`
Ejemplo de uso de la funci n:
`python
array = [1, 2, 3, 4, 5]
shifted_array = shift_array_left(array, 2)
print(shifted_array)
`
Conclusi n:
`
[3, 4, 5, 1, 2]
`
Por lo tanto, la funci n shift_array_left permite el desplazamiento c clico de los elementos de la matriz hacia la izquierda en un n mero determinado de elementos.
Algoritmo del programa
A continuaci n se muestra el algoritmo del programa Python para recorrer los elementos de la matriz a la izquierda en los elementos r:
- Establecer la matriz original de n elementos.
- Establecer el valor de la variable r que especifica el n mero de elementos en los que se desplazar la matriz.
- Si r es mayor o igual que n, asigne a la variable r el resto de la divisi n de r por n.
- Crear una nueva matriz temporal y copiar en ella los ltimos elementos R de la matriz original.
- Copiar en la matriz original todos los elementos, desde la posici n r hasta el final de la matriz.
- Copie en la matriz original los elementos de la matriz temporal desde la posici n 0 hasta r 1.
- Muestra la matriz original con el desplazamiento c clico realizado en los elementos r.
El algoritmo se basa en los siguientes pasos:
- Si el valor de r es mayor o igual que n, use la operaci n de remanente de divisi n para cambiar la matriz solo por el n mero correcto de elementos.
- Creamos una matriz temporal temp, en la que almacenaremos los ltimos elementos R de la matriz original.
- Copie los elementos desde la posici n r hasta el final de la matriz en la matriz original.
- Copie los elementos de la matriz temporal en la matriz original, comenzando desde la posici n 0 hasta r 1.
Por lo tanto, despu s de ejecutar el algoritmo, los elementos de la matriz se desplazan hacia la izquierda en las posiciones R.
C digo fuente del programa
Python, r .
arr = [1, 2, 3, 4, 5]
r = int(input(" : "))
result = shift_array_left(arr, r)
print ("matriz Original:", arr)