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 C#

2 Answers

0 votes
using System;

class Program
{
    static void Main()
    {
        int[,] a = {
            { 1, 2 },
            { 3, 4 }
        };

        int[,] b = {
            { 5, 6 },
            { 7, 8 }
        };

        int rows = a.GetLength(0);
        int cols = a.GetLength(1) + b.GetLength(1);

        int[,] merged = new int[rows, cols];

        for (int i = 0; i < rows; i++) {
            // Copy A
            for (int j = 0; j < a.GetLength(1); j++)
                merged[i, j] = a[i, j];

            // Copy B
            for (int j = 0; j < b.GetLength(1); j++)
                merged[i, j + a.GetLength(1)] = b[i, j];
        }

        Print(merged);
    }

    static void Print(int[,] arr) {
        for (int i = 0; i < arr.GetLength(0); i++) {
            for (int j = 0; j < arr.GetLength(1); j++)
                Console.Write(arr[i, j] + " ");
            Console.WriteLine();
        }
    }
}



/*
run:

1 2 5 6 
3 4 7 8  

*/

 



answered Jan 25 by avibootz
0 votes
using System;

class Program
{
    static void Main()
    {
        int[,] a = {
            { 1, 2 },
            { 3, 4 }
        };

        int[,] b = {
            { 5, 6 },
            { 7, 8 }
        };

        int rows = a.GetLength(0);
        int cols = a.GetLength(1) + b.GetLength(1);

        int[,] merged = new int[rows, cols];

        int colIndex = 0;

        for (int j = 0; j < a.GetLength(1); j++) {
            CopyColumn(a, j, merged, colIndex++);
            CopyColumn(b, j, merged, colIndex++);
        }

        Print(merged);
    }

    static void CopyColumn(int[,] src, int srcCol, int[,] dst, int dstCol) {
        for (int i = 0; i < src.GetLength(0); i++)
            dst[i, dstCol] = src[i, srcCol];
    }

    static void Print(int[,] arr) {
        for (int i = 0; i < arr.GetLength(0); i++) {
            for (int j = 0; j < arr.GetLength(1); j++)
                Console.Write(arr[i, j] + " ");
            Console.WriteLine();
        }
    }
}



/*
run:

1 5 2 6 
3 7 4 8 

*/

 



answered Jan 25 by avibootz
...