Определить минимальный и максимальный элемент массива - 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());
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д