массив 6X4. определить разность между min и max элемент в каждой строке

Помогите советом. Написал программу, но не знаю как должен продолжить.

Массив 6x4, заполнил рандомом, а дальше не понимаю что делать.

int[,] a = new int[6, 4];

Random random = new Random();
for (int i = 0; i < 6; i++)
{
    for (int j = 0; j < 4; j++)
    {
        a[i, j] = random.Next(100);
        Console.Write("{0,5}", a[i, j]);
    }
    Console.WriteLine();
}

Ответы (1 шт):

Автор решения: aepot

Если по-простому, то начать с первого элемента в каждой строке, далее каждый последующий элемент сравнивать отдельно с минимумом и с максимумом, и обновлять минимум и максимум, если меньше или больше.

int[,] a = new int[6, 4];

Random random = new Random();
// лучше использовать реальный размер массива, потому что если поменяете размер массива,
// вам придется править код сразу в нескольких местах, а это неудобно
for (int i = 0; i < a.GetLength(0); i++)
{
    for (int j = 0; j < a.GetLength(1); j++)
    {
        a[i, j] = random.Next(100);
        Console.Write("{0,3}", a[i, j]);
    }
    Console.WriteLine();
}

for (int i = 0; i < a.GetLength(0); i++)
{
    int min = a[i, 0];
    int max = a[i, 0];
    for (int j = 1; j < a.GetLength(1); j++)
    {
        if (a[i, j] < min)
            min = a[i, j];
        if (a[i, j] > max)
            max = a[i, j];
    }
    Console.WriteLine(max - min);
}

Вывод в консоль.

 23 63 47 32
 51 79 36 23
 82 40 60  8
 69 92 22 91
 92 91 86 18
 26 47 70 23
40
56
74
70
74
47

Ради развлечения, вот Linq вариант

Console.WriteLine(string.Join(Environment.NewLine, Enumerable.Range(0, a.GetLength(0)).Select(i => 
    Enumerable.Range(0, a.GetLength(1)).Select(j => a[i, j]).Max() - 
    Enumerable.Range(0, a.GetLength(1)).Select(j => a[i, j]).Min()
)));
→ Ссылка