Trộn (ghép) hai mảng trong C#



Bài tập C#: Trộn (ghép) hai mảng

Viết chương trình C# để trộn (ghép) hai mảng có cùng kích cỡ và sau đó sắp xếp các phần tử của mảng trộn này theo thứ tự tăng dần.

Bài tập C# này giúp bạn làm quen với các khái niệm: khai báo mảng, khởi tạo mảng, và cách truy cập các phần tử của mảng trong C#. Ngoài ra, bài tập C# này còn minh họa giúp bạn cách sắp xếp các phần tử mảng theo thứ tự tăng dần.

Chương trình C#

Dưới đây là chương trình C# để giải bài tập trộn (ghép) hai mảng trong C#:

using System;namespace VietJackCsharp
{
    class TestCsharp
    {
        public static void Main()
        {            int[] arr1 = new int[100];
            int[] arr2 = new int[100];
            int[] arr3 = new int[200];
            int s1, s2, s3;
            int i, j, k;
            Console.Write("\nTron (ghep) hai mang trong C#.\n");
            Console.Write("-------------------------------\n");            Console.Write("Nhap so phan tu can luu giu trong mang arr1: ");
            s1 = Convert.ToInt32(Console.ReadLine());            Console.Write("Nhap {0} phan tu vao trong mang arr1:\n", s1);
            for (i = 0; i < s1; i++)
            {
                Console.Write("Phan tu - {0}: ", i);
                arr1[i] = Convert.ToInt32(Console.ReadLine());
            }
            Console.Write("Nhap so phan tu can luu giu trong mang arr2: ");
            s2 = Convert.ToInt32(Console.ReadLine());            Console.Write("Nhap {0} phan tu vao trong mang arr2:\n", s2);
            for (i = 0; i < s2; i++)
            {
                Console.Write("Phan tu - {0}: ", i);
                arr2[i] = Convert.ToInt32(Console.ReadLine());
            }            /* kich co cua mang tron = tong kich co cua mang arr1 va mang arr2 */
            s3 = s1 + s2;            /*chen cac phan tu cua hai mang arr1 va arr2 vao mang thu ba */
            for (i = 0; i < s1; i++)
            {
                arr3[i] = arr1[i];
            }
            for (j = 0; j < s2; j++)
            {
                arr3[i] = arr2[j];
                i++;
            }
            /* sap xep theo thu tu tang dan*/
            for (i = 0; i < s3; i++)
            {
                for (k = 0; k < s3 - 1; k++)
                {                    if (arr3[k] >= arr3[k + 1])
                    {
                        j = arr3[k + 1];
                        arr3[k + 1] = arr3[k];
                        arr3[k] = j;
                    }
                }
            }
            /*in mang arr3*/
            Console.Write("\nMang tron da duoc sap xep theo thu tu tang dan:\n");
            for (i = 0; i < s3; i++)
            {
                Console.Write("{0} ", arr3[i]);
            }
            Console.Write("\n\n");                    Console.ReadKey();
        } 
    }
}

Nếu bạn không sử dụng lệnh Console.ReadKey(); thì chương trình sẽ chạy và kết thúc luôn (nhanh quá đến nỗi bạn không kịp nhìn kết quả). Lệnh này cho phép chúng ta nhìn kết quả một cách rõ ràng hơn.

Kết quả chương trình C#

Biên dịch và chạy chương trình C# trên sẽ cho kết quả:

Trộn (ghép) hai mảng trong C#
bai-tap-mang-trong-csharp.jsp