Xóa phần tử trong mảng C#



Bài tập C#: Xóa phần tử trong 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 đó xóa phần tử tại vị trí nào đó rồi in mảng kết quả trên màn hình.

Cũng giống như bài tập chèn phần tử vào mảng, bài tập xóa phần tử trong 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#.

Chương trình C#

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

using System;namespace VietJackCsharp
{
    class TestCsharp
    {
        public static void Main()
        {            int i, pos, n; //pos la vi tri can xoa
            int[] arr1 = new int[50];
            Console.Write("\nXoa phan tu trong mang 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("\nNhap vi tri can xoa: ");
            pos = Convert.ToInt32(Console.ReadLine());
            /* xac dinh vi tri cua i trong mang*/
            i = 0;
            while (i != pos - 1)
                i++;
            /*vi tri i trong mang se duoc thay the boi gia tri ben phai cua no */
            while (i < n)
            {
                arr1[i] = arr1[i + 1];
                i++;
            }
            n--;
            Console.Write("\nIn mang sau khi da xoa phan tu: ");
            for (i = 0; i < n; i++)
            {
                Console.Write("  {0}", arr1[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ả:

Xóa phần tử trong mảng C#
bai-tap-mang-trong-csharp.jsp