Построить третий массив, который будет состоять с одинаковых элементов значений первых двух - VB

Формулировка задачи:

Попалась довольно сложная для меня задача по массивам. Дано два одномерных массива. Построить третий массив, который будет состоять с одинаковых элементов значений первых двух массивов. Подсчитать их количество и вывести координаты. Спасибо большое заранее.

Код к задаче: «Построить третий массив, который будет состоять с одинаковых элементов значений первых двух - VB»

textual
Function intersection(A() As Integer, B() As Integer) As Integer()
Dim R() As Integer
   na% = UBound(A, 1)
   nb% = UBound(B, 1)
   ReDim R(1 To na%) As Integer
   k% = 0
   For i% = 1 To na%
       For j% = 1 To nb%
           If A(i%) = B(j%) Then
              k% = k% + 1
              R(k%) = A(i%)
           End If
       Next j%
   Next i%
   If k% < na% Then ReDim Preserve R(1 To k%) As Integer
   intersection = R
End Function
 
Sub Test()
Dim X(1 To 5) As Integer
Dim Y(1 To 8) As Integer
Dim R() As Integer
 
    X(1) = 1
    X(2) = -1
    X(3) = 11
    X(4) = 2
    X(5) = 0
   
    Y(1) = 11
    Y(2) = 0
    Y(3) = 3
    Y(4) = 2
    Y(5) = 4
    Y(6) = 5
    Y(7) = 12
    Y(8) = -12
 
    R = intersection(X, Y)
   
    For i% = 1 To UBound(R, 1)
        Debug.Print R(i%)
    Next i%
   
End Sub

15   голосов, оценка 3.867 из 5


СОХРАНИТЬ ССЫЛКУ
Похожие ответы