Chèn phần tử vào mảng trong C# (Phần 1)



Bài tập C#: Chèn phần tử vào mảng đã qua sắp xếp

Viết chương trình C# để nhập một mảng (đã sắp xếp theo thứ tự tăng dần), sau đó chèn thêm phần tử mới vào trong mảng rồi in mảng trên màn hình.

Bài tập chèn phần tử vào mảng là bài tập rất phổ biến trong mọi ngôn ngữ lập trình và có nhiều ứng dụng. 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#.

Mời bạn tham khảo thêm cách Chèn phần tử vào mảng không có thứ tự.

Chương trình C#

Dưới đây là chương trình C# để giải bài tập chèn phần tử vào mảng trong C#:

using System;namespace VietJackCsharp
{
    class TestCsharp
    {
        public static void Main()
        {            int[] arr1 = new int[10];
            int i, n, p = 0, phan_tu_moi;
            Console.Write("\nChen phan tu vao mang trong C#:\n");
            Console.Write("--------------------------------\n");            Console.Write("Nhap kich co mang: ");
            n = Convert.ToInt32(Console.ReadLine());
            /* nhap cac phan tu vao trong mang*/
            Console.Write("Nhap {0} phan tu vao mang theo thu tu tang dan:\n", n);
            for (i = 0; i < n; i++)
            {
                Console.Write("Phan tu - {0}: ", i);
                arr1[i] = Convert.ToInt32(Console.ReadLine());
            }
            Console.Write("Nhap gia tri phan tu can chen: ");
            phan_tu_moi = Convert.ToInt32(Console.ReadLine());
            Console.Write("In mang truoc khi chen:\n ");
            for (i = 0; i < n; i++)
                Console.Write("{0} ", arr1[i]);
            /* xac dinh vi tri de chen phan tu moi.*/
            for (i = 0; i < n; i++)
                if (phan_tu_moi < arr1[i])
                {
                    p = i;
                    break;
                }
            /* di chuyen vi tri tat ca phan tu ben canh phai cua mang */
            for (i = n; i >= p; i--)
                arr1[i] = arr1[i - 1];
            /* chen phan tu moi vao vi tri thich hop */
            arr1[p] = phan_tu_moi;            Console.Write("\n\nSau khi chen, mang co cac phan tu:\n ");
            for (i = 0; i <= n; i++)
                Console.Write("{0} ", arr1[i]);
            Console.Write("\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ả:

Chèn phần tử vào mảng trong C#
bai-tap-mang-trong-csharp.jsp