×

Tìm phần tử lớn nhất và nhỏ nhất trong ma trận C#

Để tìm phần tử lớn nhất và nhỏ nhất trong một ma trận hai chiều trong C#, bạn cần thực hiện các bước sau:

  1. Khởi tạo ma trận hai chiều.
  2. Sử dụng hai biến để lưu trữ giá trị lớn nhất và nhỏ nhất.
  3. Duyệt qua từng phần tử của ma trận.
  4. So sánh mỗi phần tử với các biến lưu trữ giá trị lớn nhất và nhỏ nhất và cập nhật các biến này nếu cần thiết.

Dưới đây là mã nguồn minh họa:

using System;

class Program
{
    static void Main()
    {
        // Khởi tạo ma trận hai chiều
        int[,] matrix = {
            {3, 5, 7},
            {2, 8, 1},
            {6, 4, 9}
        };

        // Giả định rằng phần tử đầu tiên là lớn nhất và nhỏ nhất
        int max = matrix[0, 0];
        int min = matrix[0, 0];

        // Duyệt qua từng phần tử của ma trận
        for (int i = 0; i < matrix.GetLength(0); i++)
        {
            for (int j = 0; j < matrix.GetLength(1); j++)
            {
                // Nếu phần tử hiện tại lớn hơn giá trị lớn nhất hiện tại, cập nhật giá trị lớn nhất
                if (matrix[i, j] > max)
                {
                    max = matrix[i, j];
                }
                // Nếu phần tử hiện tại nhỏ hơn giá trị nhỏ nhất hiện tại, cập nhật giá trị nhỏ nhất
                if (matrix[i, j] < min)
                {
                    min = matrix[i, j];
                }
            }
        }

        // In ra kết quả
        Console.WriteLine($"Phần tử lớn nhất trong ma trận là: {max}");
        Console.WriteLine($"Phần tử nhỏ nhất trong ma trận là: {min}");
    }
}

Giải thích:

  • matrix.GetLength(0) trả về số hàng của ma trận.
  • matrix.GetLength(1) trả về số cột của ma trận.
  • Biến max được khởi tạo với giá trị của phần tử đầu tiên của ma trận, và nó sẽ được cập nhật nếu tìm thấy phần tử lớn hơn.
  • Biến min được khởi tạo với giá trị của phần tử đầu tiên của ma trận, và nó sẽ được cập nhật nếu tìm thấy phần tử nhỏ hơn.
  • Hai vòng lặp for lồng nhau để duyệt qua từng phần tử của ma trận.
  • Trong mỗi vòng lặp, giá trị của phần tử hiện tại được so sánh với maxmin để cập nhật nếu cần.

Comments