Comparar Arrays unidimensionales

Mi nombre es miguel y me gustaría que me dieses si es posible una orientación, te cuento:
Tengo dos arrays unidimensionales de tipo Integer y que se van redimensionando, con lo que de antemano no se los elementos que tendrá cada uno una vez rellenos. El caso es que necesito comparar los elementos de cada array con los del otro pero como no se las posiciones que tendrá cada uno si uno de ellos tiene más posiciones que el otro (y casi siempre será así) me va a dar un error por desbordamiento. ¿Cómo podría hacerlo?

2 respuestas

Respuesta
2
Pues con la función UBound consigues el límite superior del Array.
Podrías hacer algo así:
If Ubound(Array1) > Ubound(Array2) then
     compararArray Array2, Array1
else
     compararArray Array1, Array2
end if
Private Sub compararArray (arrMenor() as integer, arrMayor() as integer)
    dim iMenor as integer
    dim iMayor as integer
     For iMenor=0 to UBound(arrMenor)
          iElemento = arrMenor(iMenor)
          For iMayor=0 to UBound(arrMayor)
                If iElemento = arrMayor(iMayor) then
                     MsgBox("He encontrado una coincidencia")
                end if
          Next iMayor
     next iMenor
End Sub
Más o menos, revísalo y dime si te sirve.
Respuesta
1
Utiliza la propiedad UBound del array para saber cual es el elemento del array ultimo, o sea cuantos elementos tiene. Si estas en .NET tienes la propiedad .LEngth del array que también lo hace.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas