Tìm phần tử nhỏ thứ hai trong mảng C#



Bài tập C#: Tìm phần tử nhỏ thứ hai trong mảng

Viết chương trình C# để nhập một mảng, sau đó tìm phần tử nhỏ thứ hai rồi in kết quả trên màn hình.

Bài tập tìm phần tử nhỏ thứ hai khá thú vị và đôi khi bạn cần phải sử dụng đến phần tử nhỏ thứ hai trong mả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 cách Tìm phần tử lớn thứ hai trong mảng.

Chương trình C#

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

using System;namespace VietJackCsharp
{
    class TestCsharp
    {
        public static void Main()
        {            int n, i, j = 0, nho_nhat, nho_thu_hai;
            int[] arr1 = new int[50];            Console.Write("\nTim phan tu nho thu hai 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 trong mang (nen nhap gia tri nho hon 99999):\n", n);
            for (i = 0; i < n; i++)
            {
                Console.Write("Phan tu - {0}: ", i);
                arr1[i] = Convert.ToInt32(Console.ReadLine());
            }
            /* tim vi tri cua phan tu nho nhat */
            nho_nhat = 0;
            for (i = 0; i < n; i++)
            {
                if (nho_nhat > arr1[i])
                {
                    nho_nhat = arr1[i];
                    j = i;
                }
            }            /* bo qua phan tu nho nhat va tim phan tu nho thu hai */
            nho_thu_hai = 99999; //gan mot gia tri ban dau
            for (i = 0; i < n; i++)
            {
                if (i == j)
                {
                    i++;  /* bo qua phan tu nho nhat */
                    i--;
                }
                else
                {
                    if (nho_thu_hai > arr1[i])
                    {
                        nho_thu_hai = arr1[i];
                    }
                }
            }            Console.Write("Phan tu nho thu hai trong mang la:  {0} \n\n", nho_thu_hai);                   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ả:

Tìm phần tử nhỏ thứ hai trong mảng trong C#
bai-tap-mang-trong-csharp.jsp