Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

40,011 questions

51,958 answers

573 users

How to merge two 2D arrays horizontally in VB.NET

2 Answers

0 votes
Imports System

Module Program

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

        Dim b(,) As Integer = {
            {5, 6},
            {7, 8}
        }

        Dim rows As Integer = a.GetLength(0)
        Dim cols As Integer = a.GetLength(1) + b.GetLength(1)

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

        For i As Integer = 0 To rows - 1

            ' Copy A
            For j As Integer = 0 To a.GetLength(1) - 1
                merged(i, j) = a(i, j)
            Next

            ' Copy B
            For j As Integer = 0 To b.GetLength(1) - 1
                merged(i, j + a.GetLength(1)) = b(i, j)
            Next

        Next

        PrintMatrix(merged)
    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:
'
' 1 2 5 6 
' 3 4 7 8 
'

 



answered Jan 25 by avibootz
0 votes
Imports System

Module Program

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

        Dim b(,) As Integer = {
            {5, 6},
            {7, 8}
        }

        Dim rows As Integer = a.GetLength(0)
        Dim cols As Integer = a.GetLength(1) + b.GetLength(1)

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

        Dim colIndex As Integer = 0

        For j As Integer = 0 To a.GetLength(1) - 1
            CopyColumn(a, j, merged, colIndex)
            colIndex += 1
            CopyColumn(b, j, merged, colIndex)
            colIndex += 1
        Next

        PrintMatrix(merged)
    End Sub

    Sub CopyColumn(src(,) As Integer, srcCol As Integer, dst(,) As Integer, dstCol As Integer)
        For i As Integer = 0 To src.GetLength(0) - 1
            dst(i, dstCol) = src(i, srcCol)
        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:
'
' 1 5 2 6 
' 3 7 4 8  
'

 



answered Jan 25 by avibootz
...