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.

39,762 questions

51,662 answers

573 users

How to merge two 2D arrays vertically 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) + b.GetLength(0);
        int cols = a.GetLength(1);

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

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

        // Copy B
        for (int i = 0; i < b.GetLength(0); i++)
            for (int j = 0; j < cols; j++)
                merged[i + a.GetLength(0), j] = 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 
3 4 
5 6 
7 8 

*/

 



answered 5 days ago 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) + b.GetLength(0);
        int cols = a.GetLength(1);

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

        int index = 0;

        for (int i = 0; i < a.GetLength(0); i++) {
            CopyRow(a, i, merged, index++);
            CopyRow(b, i, merged, index++);
        }

        Print(merged);
    }

    static void CopyRow(int[,] src, int srcRow, int[,] dst, int dstRow) {
        for (int j = 0; j < src.GetLength(1); j++)
            dst[dstRow, j] = src[srcRow, j];
    }

    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 5 days ago by avibootz
...