Элементых выше главной диагонали заведомо больше чем элементы ниже главной диагонали

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

int[,] A = new int[10, 10];
Random m = new Random();
for (int i = 0; i <= 10; i++)
{
for (int j = 0; j <= 10; j++) A[i, j] = m.Next(10);
}

Дальше как?


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

Автор решения: A K

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

void Main()
{
    var size = 10;
    var maxVal = 10;
    var nums = Generate(size, maxVal);
    nums.Dump();
    
    for (int i = 1; i < size - 2; i++)
    {
        var max = nums[i + 1, i ];
        for (int j = i + 1; j < size - 1; j++)
        {
            if(nums[j, i] > max)
                max = nums[j, i];
        }

        Console.WriteLine($"Элемент главной диагонали: {nums[i, i]}. Max под диагональю: {max}");

        for (int j = i - 1; j >= 0; j--)
        {
            if(nums[j,i]>max)
            {
                Console.WriteLine($"Элемент {j},{i} = {nums[j,i]} больше {max}");
            }
        }
    }
}

// You can define other methods, fields, classes and namespaces here

private int[,] Generate(int size, int maxVal)
{
    int[,] result = new int[size, size];
    Random rand = new Random();
    for (int i = 0; i < size; i++)
    {
        for (int j = 0; j < size; j++)
            result[i, j] = rand.Next(maxVal);
    }
    return result;
}

введите сюда описание изображения

И ещё. А что делать в случае если элементов выше(ниже) главной диагонали нет?

→ Ссылка