Título: [Simple - reto] Iteraciones
Publicado por: _katze_ en 16 Junio 2011, 05:43 am
Hola a todo bueno para que agamos algo y sea mas divertido propongo lo siguiente solo con iteraciones.... dado dicha secuencia de numeros 1 15 10 5 0 2 15 10 5 0 3 devemos realizar una iteracion que nos de esa secuencia...simple pero al que se le valla ocurriendo mas lo vamos haciendo,, espero que tenga futuro el pos ::)
Título: Re: [Simple - reto] Iteraciones
Publicado por: 79137913 en 16 Junio 2011, 14:05 pm
HOLA!!! Private Function RetoIteraciones(Items As Long) As Long() Dim AuxArr() As Long Dim CT As Long Dim X As Long ReDim AuxArr(Items - 1) X = Items - 1 Do Until X < 4 CT = CT + 1 AuxArr(Items - X - 1) = CT AuxArr(Items - X) = 15 AuxArr(Items - X + 1) = 10 AuxArr(Items - X + 2) = 5 AuxArr(Items - X + 3) = 0 X = X - 5 Loop If Not X < 0 Then CT = CT + 1 AuxArr(Items - X - 1) = CT If X > 3 Then AuxArr(Items - X + 3) = 0 AuxArr(Items - X + 2) = 5 AuxArr(Items - X + 1) = 10 AuxArr(Items - X) = 15 ElseIf X > 2 Then AuxArr(Items - X + 2) = 5 AuxArr(Items - X + 1) = 10 AuxArr(Items - X) = 15 ElseIf X > 1 Then AuxArr(Items - X + 1) = 10 AuxArr(Items - X) = 15 ElseIf X > 0 Then AuxArr(Items - X) = 15 End If End If RetoIteraciones = AuxArr End Function
GRACIAS POR LEER!!!
Título: Re: [Simple - reto] Iteraciones
Publicado por: _katze_ en 16 Junio 2011, 19:09 pm
un poco mas simple pero funciona de igual manera....aver si tienes otra man '1 15 10 5 0 2 15 10 5 0 3 Dim i As Integer Dim j As Integer For i = 1 To 3 Debug.Print i If i = 3 Then Exit For For j = 15 To 0 Step -5 Debug.Print j Next j Next i
Título: Re: [Simple - reto] Iteraciones
Publicado por: 79137913 en 16 Junio 2011, 19:25 pm
HOLA!!! un poco mas simple pero funciona de igual manera....aver si tienes otra man '1 15 10 5 0 2 15 10 5 0 3 Dim i As Integer Dim j As Integer For i = 1 To 3 Debug.Print i If i = 3 Then Exit For For j = 15 To 0 Step -5 Debug.Print j Next j Next i
:¬¬ Ese codigo no continua la secuencia, solo escribe lo que esta arriba. Aca una manera mas simple: debug.print "1 15 10 5 0 2 15 10 5 0 3" ' :¬¬ :¬¬ :¬¬ :¬¬ Vos hiciste el reto, pero creo que deberiamos armar una funcion que funcione con la formula de la secuencia indicada, no que escriba solo eso.... Osea tu codigo devuelve solo 11 items de la secuencia. El codigo que arme devuelve de 1 a 162447352 items. Entendes¿? GRACIAS POR LEER!!!
Título: Re: [Simple - reto] Iteraciones
Publicado por: BlackZeroX en 16 Junio 2011, 20:45 pm
. Este codigo sigue la secuencia hasta n Longitud dada. Option Explicit Private Sub Form_Load() Dim v As Variant For Each v In iteraccion(20) Debug.Print v Next End Sub Public Function iteraccion(ByVal llen As Long) As Long() Dim i As Long Dim c As Long Dim t As Long Dim vares() As Long llen = (llen - 1) ReDim vares(0 To llen) c = 1 For i = 0 To llen Step 5 vares(i) = c: t = i + 1 If (t < llen) Then vares(t) = 15: t = t + 1 If (t < llen) Then vares(t) = 10: t = t + 1 If (t < llen) Then vares(t) = 5: t = t + 1 If (t < llen) Then vares(t) = 0: c = c + 1 End If End If End If End If Next i iteraccion = vares() End Function
... de una manera mas simple. Option Explicit Private Sub Form_Load() Dim v As Variant For Each v In iteraccion(21) Debug.Print v Next End Sub Public Function sets(ByVal lval As Long, ByRef vaArr() As Long, ByVal index As Long, ByVal lub As Long) As Long If Not ((index And &H80000000) = &H80000000) Then If (index <= lub) Then vaArr(index) = lval sets = (index + 1) Exit Function End If End If sets = &H80000000 End Function Public Function iteraccion(ByVal llen As Long) As Long() Dim i As Long Dim c As Long Dim vares() As Long llen = (llen - 1) ReDim vares(0 To llen) c = 1 For i = 0 To llen Step 5 vares(i) = c sets 5, vares(), sets(10, vares(), sets(15, vares(), (i + 1), llen), llen), llen c = c + 1 Next i iteraccion = vares() End Function
Dulces Lunas!¡.
Título: Re: [Simple - reto] Iteraciones
Publicado por: _katze_ en 17 Junio 2011, 03:48 am
si pero tenias que llegar a esa secuencia de numeros.... es como que yo te diga que formes esto solo con iteraciones pero lo agamos asi como dicen si se te ocurre otra secuencia lo hacemos ya armo la mia y subo
|