Mensajes: 5278 Ubicación: Al otro lado de la pantalla
Jueves, 06 Abril 2017, 13:37
Comento:
Estoy haciendo un ejercicio con
gambas y para ello he tenido que retomar conceptos con array.
Estoy barajando colecciones y array. Ya que puede que los necesite a los dos.
El ejercicio que he usado para refrescar conocimiento que seguramente ya puse en su día en la comunidad está basado
en unos los ejemplos del antiguo curso de Python de Coursera.
En el ejemplo se trata de eliminar los números impares, en caso de
gambas, usando arrays.
Lo más importante a tener en cuenta es que no podemos eliminar un elemento de un array sobre el cual
estamos iterando. Con lo que necesitamos un segundo array.
En el primer caso, seria la forma tradicional.
Public Sub Main()
Dim numeros As Integer[] = [1, 7, 2, 34, 8, 7, 2, 5, 14, 22, 92, 48, 76, 15, 7]
Dim otrosnumeros As Integer[]
otrosnumeros = EliminaImpares1(numeros)
End
Public Function EliminaImpares1(lista As Integer[]) As Integer[]
Dim x As Integer
Dim eliminados As New Integer[]
For x = 0 To lista.Max
If lista[x] Mod 2 = 1 Then
eliminados.Add(lista[x])
Endif
Next
For x = 0 To eliminados.Max
lista.Remove(lista.Find(eliminados[x]))
Next
Return lista
End
Ahora otra forma de pensar que es probable que no se nos ocurra a la primera,
es que si queremos eliminar los impares, solo nos interesa los números pares,
Podemos eliminar parte de código de la anterior función y solo añadir los números pares
y devolver estos.
Public Sub Main()
Dim numeros As Integer[] = [1, 7, 2, 34, 8, 7, 2, 5, 14, 22, 92, 48, 76, 15, 7]
Dim otrosnumeros As Integer[]
otrosnumeros = EliminaImpares2(numeros)
End
Public Function EliminaImpares2(lista As Integer[]) As Integer[]
Dim x As Integer
Dim numpares As New Integer[]
For x = 0 To lista.Max
If lista[x] Mod 2 = 0 Then
numpares.Add(lista[x])
Endif
Next
Return numpares
End
No os quiero comentar totalmente en que consiste el ejercicio principal, aun.
Solo digo que tiene que ver con mi trabajo y en el cual controlo las habitaciones que van quedando, sus tipos.
Esto luego se va aplicando a un mes, ya son treinta días por ejemplo. Y así va mi ejercicio.
Aunque me orientéis no me desveléis toda la sorpresa.
Mi idea es usar colecciones y arrays para resolverlo. Tengo tipos de habitación, números y días.
Así que en un día. Un cliente puede pedir doble, individuales, matrimoniales..se van eliminado de la lista disponible,
llegará un momento que no haya habitaciones de un tipo..(quieto parado)...eso lo podemos aplicar a un día y luego
ampliarlo a un mes.
Y eso que no quería contarlo todo..me cachis en la mar.
Saludos