Определить минимальный и максимальный элемент массива - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток!, нужна помощь в решении поставленной задачи. В идеале нужно реализовать принцип минимакса из теории игр. А так задача поставлена след. образом: дана матрица размером nxm, в каждой строке нужно определить минимальный элемент, а в каждом столбце - максимальный, вывести эти элементы на экран. Далее, среди минимальных элементов, которые определились в строках, нужно определить максимальный и вывести его на экран. Аналогично с максимальными элементами столбцов, тут нужно определить минимальный и вывести на экран. В общем, у меня получилось определить минимальные элементы строк, показать их (макс. эл. столбцов тоже). А вот как из минимальных (максимальных) элементов строк (столбцов) определить максимальный (минимальный) и показать его, додуматься не могу. Надеюсь, что кто-то поможет мне. Код представлен ниже. Спасибо!!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace princip_minmax
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = 3;
            int m = 3;
            Random rand = new Random();
            int[,] matrix = new int[n, m];
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    matrix[i, j] = rand.Next(1, 11);
                    Console.Write(matrix[i, j] + "\t");
                }
                Console.WriteLine();
            }
            Console.WriteLine();
            Console.WriteLine("Минимальные элементы строк:");
            for (int i = 0; i < n; i++)
            {
                int ind = 0, min = matrix[i, ind];
                for (int j = 0; j < m; j++)
                {
                    if (matrix[i, j] < min)
                    {
                        ind = j;
                        min = matrix[i, j];
                    }
                }
                Console.WriteLine(min);
            }
            Console.Write("\n");
 
            Console.WriteLine("Максимальные элементы столбцов:");
 
            for (int j = 0; j < m; j++)
            {
                int ind = 0, max = matrix[ind, j];
                
                for (int i = 0; i < n; i++)
                {
                    if (matrix[i, j] > max)
                    {
                        ind = i;
                        max = matrix[i, j];
                    }
                }
                Console.WriteLine(max);
            }
 
        }
    }
}

Решение задачи: «Определить минимальный и максимальный элемент массива»

textual
Листинг программы
            int n = 3;
            int m = 3;
            int [] minm = new int[n];
            int[] maxm = new int[m];
            Random rand = new Random();
            int[,] matrix = new int[n, m];
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    matrix[i, j] = rand.Next(1, 11);
                    Console.Write(matrix[i, j] + "\t");
                }
                Console.WriteLine();
            }
            Console.WriteLine();
            Console.WriteLine("Минимальные элементы строк:");
            for (int i = 0; i < n; i++)
            {
                int ind = 0, min = matrix[i, ind];
                for (int j = 0; j < m; j++)
                {
                    if (matrix[i, j] < min)
                    {
                        ind = j;
                        min = matrix[i, j];
                    }
                }
                Console.WriteLine(min);
                minm[i] = min;
            }
            Console.Write("\n");
 
            Console.WriteLine("Максимальные элементы столбцов:");
 
            for (int j = 0; j < m; j++)
            {
                int ind = 0, max = matrix[ind, j];
 
                for (int i = 0; i < n; i++)
                {
                    if (matrix[i, j] > max)
                    {
                        ind = i;
                        max = matrix[i, j];
                    }
                }
                Console.WriteLine(max);
                maxm[j] = max;
            }
            Console.WriteLine("Минимальный элемент строк = {0}", minm.Min());
            Console.WriteLine("Максимальный элемент строк = {0}", minm.Max());
            Console.WriteLine("Минимальный элемент столбцов = {0}", maxm.Min());
            Console.WriteLine("Максимальный элемент столбцов = {0}", maxm.Max());

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5
Похожие ответы