Найти наибольший элемент квадратной матрицы, расположенный в заштрихованной области - C#
Формулировка задачи:
Дана квадратная матрица порядка n. Найти наибольший ее элемент, расположенный в заштрихованной области. Размер матрицы и ее элементы вводятся с клавиатуры. Оформить ввод, вывод матрицы и обработку матрицы в виде функций.
Как указать заштрихованный область?
Решение задачи: «Найти наибольший элемент квадратной матрицы, расположенный в заштрихованной области»
textual
Листинг программы
class Program
{
static int[,] Input(int n)
{
int[,] a = new int[n, n];
Random random = new Random();
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
a[i, j] = random.Next(0, 100);
return a;
}
static void Print(int[,] a, int n)
{
Console.WriteLine();
Console.WriteLine("Матрица:");
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
Console.Write("{0,5}",a[i, j]);
Console.WriteLine();
}
}
static int Max(int[,] a, int n)
{
int max = a[1, 2];
for(int i=0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
if ((i <= j && i + j <= n - 1) || (i >= j && i + j >= n - 1))
{
if (a[i, j] > max)
max = a[i, j];
}
}
}
return max;
}
static void Main(string[] args)
{
Console.Write("введите размер квадратной матрицы=");
int n = int.Parse(Console.ReadLine());
int[,] array = Input(n);
Print(array, n);
Console.Write("Наибольший элемент={0}", Max(array, n));
Console.ReadKey();
}
}