Autor Tema: Ayuda con funcion compleja  (Leído 3806 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Bazooka

  • Terabyte
  • *****
  • Mensajes: 951
  • Reputación: +31/-20
  • El pibe Bazooka
    • Ver Perfil
    • Desof sistemas
Ayuda con funcion compleja
« en: Agosto 28, 2010, 11:42:19 pm »
Hola estoy trabajando en un proyecto y me he trancado y pido que me ayuden por favor.
El tema es así necesito crear una funcion que me devuelva positivo si hay algun numero en comun en 3 arrays pasados como parametros por ejemplo así:


array1= "5\\12\\15\\23\\30\\37\\47\\48\\50\\57\\64\"
array2= "3\\4\\11\\20\\26\\32\\36\\41\\45\\54\\59\"
array3="8\\16\\17\\29\\31\\35\\40\\49\\51\\56\\69\"

La forma en que las debe ir procesando el programa es así!

1º se genera el array1 (no se compara nada)
2º luego se genera el arra2 hay que compar con el anterior
3º luego el array3 verificar con todos lo anteriores.

Espero me entiende y eche una mano por que me esta superando!!!
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Psyke1

  • Megabyte
  • ***
  • Mensajes: 130
  • Reputación: +11/-7
  • VBManiac
    • Ver Perfil
    • h-Sec
Re:Ayuda con funcion compleja
« Respuesta #1 en: Agosto 29, 2010, 06:11:41 am »
.
No se si te entendido bien, pero para ello puedes utilizar mi clase cCollectionEx.cls que encontraras 2 post abajo...
Con la propiedad Contains...

Un ej:
Código: (vb) [Seleccionar]
If cTemp.Contains(50) Then
    MsgBox "Lo contiene"
Else
    MsgBox "No lo contiene"
End If
Creas tres cCollectionEx y cuando quieres añadir un Item nuevo miras a ver si esta en las anteriores.
.
Con esto que te he dicho no creo que tengas problemas. ;)

DoEvents¡! :P
« última modificación: Agosto 29, 2010, 08:56:06 am por PsYkE1 »

Bazooka

  • Terabyte
  • *****
  • Mensajes: 951
  • Reputación: +31/-20
  • El pibe Bazooka
    • Ver Perfil
    • Desof sistemas
Re:Ayuda con funcion compleja
« Respuesta #2 en: Agosto 29, 2010, 08:06:04 pm »
Gracias lo intenté pero estuve tratando de usar esto y me tira algunos errores! a mi criterio esta muy bueno pero esta demasiado estructurado para usar con un rango determinado de datos y no es muy generica. Y la verdad el tiempo me apremia para ponerme a comprenderla.

« última modificación: Agosto 29, 2010, 09:15:29 pm por xkiz »
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Psyke1

  • Megabyte
  • ***
  • Mensajes: 130
  • Reputación: +11/-7
  • VBManiac
    • Ver Perfil
    • h-Sec
Re:Ayuda con funcion compleja
« Respuesta #3 en: Agosto 30, 2010, 11:49:07 am »
Ok, mira te he hecho un ejemplo utilizando mi clase cCollectionEx, dime si es lo que buscas, en tal caso solo tendrias que hacer pequeñas modificaciones:
Código: (vb) [Seleccionar]
Option Explicit
Option Base 1

Private Sub Form_Load()
    Dim cTemp(3) As New cCollectionEx
    Dim x As Long, y As Long, n As Long, i As Long

    For x = 1 To 3
        For y = 1 To 5
Repeat:
            i = x
            n = RndNum(0, 15)
            Do
                If cTemp(i).Contains(n) Then GoTo Repeat
                i = i - 1
            Loop While i > 0
            cTemp(x).Add n
        Next
    Next
   
    'OffTopic : ¡Vivan las ranas! :D
    For x = 1 To 3
        Debug.Print "------------------------------------------------"
        Debug.Print "Contenido de cTemp(" & x & ")"
        For y = 1 To cTemp(x).Count
            Debug.Print cTemp(x).Item(y)
        Next
        Debug.Print "------------------------------------------------"
    Next
End Sub

Public Function RndNum(ByVal lMinLimit As Long, ByVal lMaxLimit As Long) As Long
   Randomize
   RndNum = CLng((lMinLimit - lMaxLimit + 1) * Rnd + lMaxLimit)
End Function

Me devuelve esto (Como puedes observar sin repeticion alguna  ;) ):
Citar
------------------------------------------------
Contenido de cTemp(1)
 10
 12
 15
 9
 14
------------------------------------------------
------------------------------------------------
Contenido de cTemp(2)
 11
 8
 2
 6
 3
------------------------------------------------
------------------------------------------------
Contenido de cTemp(3)
 13
 4
 5
 1
 7
------------------------------------------------

Espero que te sirva al menos de guia... :)

DoEvents¡! :P
« última modificación: Agosto 30, 2010, 11:50:38 am por PsYkE1 »

Bazooka

  • Terabyte
  • *****
  • Mensajes: 951
  • Reputación: +31/-20
  • El pibe Bazooka
    • Ver Perfil
    • Desof sistemas
Re:Ayuda con funcion compleja
« Respuesta #4 en: Septiembre 02, 2010, 09:00:05 pm »
Hola.

Muy bueno gracias!! por tu aporte ya lo incorporé!!

Miguel
« última modificación: Septiembre 02, 2010, 09:40:09 pm por xkiz »
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Psyke1

  • Megabyte
  • ***
  • Mensajes: 130
  • Reputación: +11/-7
  • VBManiac
    • Ver Perfil
    • h-Sec
Re:Ayuda con funcion compleja
« Respuesta #5 en: Septiembre 03, 2010, 05:09:46 am »
De nada ;)
Me alegro de que te haya servido... ;D

DoEvents¡! :P