Lập trình C# - Trộn (ghép) hai mảng

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 Csharp
{
    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();
        } 
    }

Xem ví dụ

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#