Как найти минимальный элемент массива и его порядковый номер в c#
Дан массив 20х20. Заполняем его рандомно. После нужно найти минимальное значение в нем и его порядковый номер.
public static void Main(string[] args)
{
int[,] massiv = new int[20, 20];
Console.WriteLine("Значение массива");
Random rand = new Random();
for (int x = 0; x < 20; x++)
{
for (int y = 0; y < 20; y++)
{
int t;
t = 23;
massiv[x, y] = rand.Next(t++);
}
}
for (int x = 0; x < massiv.GetLength(0); x++)
{
for (int y = 0; y < massiv.GetLength(1); y++)
{
Console.Write(massiv[x,y] + "\t");
}
Console.WriteLine("");
}
Написал как вывести минимальное значение
static int MinElement(int[,] massiv)
{
int minElement = massiv[0, 0];
for (int i = 0; i < massiv.GetLength(0); i++)
{
for (int j = 0; j < massiv.GetLength(1); j++)
{
if (minElement > massiv[i, j])
{
minElement = massiv[i, j];
}
}
}
return minElement;
}
Console.WriteLine("Минимальный элемент массива: {0}", MinElement(massiv));
Пробовал в цикл добавить возврат i,j, но ничего не получается. Как решить данную проблему?
static int MaxElement(int[,] massiv)
{
int maxElement = massiv[0, 0];
int x, y;
x = 0;
y = 0;
for (int i = 0; i < massiv.GetLength(0); i++)
{
for (int j = 0; j < massiv.GetLength(1); j++)
{
if (maxElement < massiv[i, j])
{
maxElement = massiv[i, j];
// x = i;
//y = j;
//Console.Write("no" + i + " " + j);
}
}
}
return maxElement;
}
Ответы (1 шт):
Автор решения: Vitaliy Zlobin
→ Ссылка
namespace MyApp
{
internal class Program
{
static void Main(string[] args)
{
var nums = new int[2, 3] { { 0, 1, 2 }, { 3, 4, 5 } };
var indices = GetIndexesOfMinimumElement(nums);
var i = indices.Item1;
var j = indices.Item2;
Console.WriteLine($"Минимальный элемент массива: {nums[i, j]}. i = {i}, j = {j}");
}
static (int, int) GetIndexesOfMinimumElement(int[,] array)
{
var minElement = array[0, 0];
var result = (0, 0);
for (int i = 0; i < array.GetLength(0); i++)
{
for (int j = 0; j < array.GetLength(1); j++)
{
if (minElement > array[i, j])
{
minElement = array[i, j];
result = (i, j);
}
}
}
return result;
}
}
}