• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Статья Нахождение минимального элемента массива

27792

В одной из предыдущих статей мы рассмотрели, как найти максимальный элемент массива, а сегодня хочу показать, как найти минимальный элемент массива в языке c#

Нахождение минимального элемента

Для нахождения минимального элемента массива мы будем использовать метод Min, как один из наиболее распространённых способов для решения данной задачи.

Одномерный массив

В первом примере рассмотрим, как получить минимальное значение в одномерном массиве.
Код:
int [] numbers = {90, 3, 56, 1, 9000, 78};
int minValue = numbers.Min();
//Результат: 1
Многомерный массив

Многомерный массив, в отличие от одномерного массива, не позволяет нам напрямую обратиться к методу Min. Но, это можно легко исправить, если воспользоваться методом Cast<T>, с помощью которого можно преобразовать многомерный массив в обобщенную коллекцию типа IEnumerable<T>. После чего нам станет доступен метод Min, и мы сможем найти минимальное значение массива, например:
Код:
int [,] numbers = {{200, 30, 6, 9, 28, 178},{2, 39, 61, 69, 8, 56}};
IEnumerable<int> colNumbs = numbers.Cast<int>();
int minValue = colNumbs.Min();
//Результат: 2
Данный код можно немного сократить:
Код:
int minValue = numbers.Cast<int>().Min();
Jagged массив
Чтобы найти минимальное значение в Jagged массиве, нужно также как и в предыдущем примере, преобразовать содержимое массива в объект типа IEnumerable<T>, но только выполнить эту операцию нужно не с помощью метода Cast, а например, с помощью метода SelectMany:
Код:
int [][] numbers = { new int [] {122,13,5,7,9},
new int [] {3,4,6,90},
new int [] {11,22,77,55}};
int minValue = numbers.SelectMany(x => x).Min();
//Результат: 3
Читайте также:
 

Сергей Попов

Кодебай
30.12.2015
4 693
6 588
BIT
345
Комментарии, перенесенные из блога:

COGE
19.10.2016 в 12:33
Код:
int [] numbers = {90, 3, 56, 1, 9000, 78};
int minValue = numbers.Min();
А как узнать индекс этого элемента?

ADMIN
20.10.2016 в 12:58
Код:
int indexMin = Array.IndexOf(numbers, minValue);
ADMIN
21.10.2016 в 13:36

FRANNY
17.11.2016 в 15:42
А если минимальных элементов несколько? Как вывести их количество?

УЛИТА
02.01.2017 в 14:42
При помощи случайных чисел ввести одномерный массив, состоящий из 15 элементов. Найти в нем максимальный и минимальный элементы и поменять местами первый и минимальный элемент, последний и максимальный. На экран вывести исходный и преобразованный массивы в две строки и индексы минимального и максимального элементов. Отсортировать измененный массив методом выбора. Вывести отсортированный массив на экран.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!