• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

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 692
6 590
BIT
350
Комментарии, перенесенные из блога:

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 элементов. Найти в нем максимальный и минимальный элементы и поменять местами первый и минимальный элемент, последний и максимальный. На экран вывести исходный и преобразованный массивы в две строки и индексы минимального и максимального элементов. Отсортировать измененный массив методом выбора. Вывести отсортированный массив на экран.
 
Мы в соцсетях:

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