How to combine different sizes 2D array and 1D array by summing element‑by‑element in VB.NET

1 Answer

0 votes
Imports System

Module Program

    Sub Main()
        Dim a(,) As Integer = {
            {1, 2, 3}
        }

        Dim b(,) As Integer = {
            {4, 5},
            {9, 8}
        }

        Dim rows As Integer = Math.Max(a.GetLength(0), b.GetLength(0))
        Dim cols As Integer = Math.Max(a.GetLength(1), b.GetLength(1))

        Dim merged(rows - 1, cols - 1) As Integer

        CopyWithPadding(a, merged)
        CopyWithPadding(b, merged)

        PrintMatrix(merged)
    End Sub

    Sub CopyWithPadding(src(,) As Integer, dst(,) As Integer)
        For i As Integer = 0 To src.GetLength(0) - 1
            For j As Integer = 0 To src.GetLength(1) - 1
                dst(i, j) += src(i, j)
            Next
        Next
    End Sub

    Sub PrintMatrix(arr(,) As Integer)
        For i As Integer = 0 To arr.GetLength(0) - 1
            For j As Integer = 0 To arr.GetLength(1) - 1
                Console.Write(arr(i, j) & " ")
            Next
            Console.WriteLine()
        Next
    End Sub

End Module



' run:
'
' 5 7 3 
' 9 8 0   
'

 



answered Jan 25 by avibootz

Related questions

...