Найти MAX в матрице в выделенной диагональной области - C#
Формулировка задачи:
Друзья помогите с решением задачи нужно найти максимальные элементы прямоугольной матрицы в выделенной области
Размер матрицы можно менять у меня по моему не прямоугольная
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace laba3fr
{
class Program
{
static void Main(string[] args)
{
int max = 0;
int[,] mas = new int[3, 4]{
{2,2,43,4 },
{1,3,5,-5 },
{8,15,43,8 }
};
for (int i = 0; i<3;i++)
{
for (int j = 0; j<4;j++)
{
if(mas[i,j]>max) //вот тут условия надо поменять как это сделать чтобы он находил
// максимум в выделенной области см.вложения
{
max = mas[i, j];
}
}
Console.Write(max + " ");
max = 0;
}
Console.ReadKey();
}
}
}Решение задачи: «Найти MAX в матрице в выделенной диагональной области»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace laba3fr
{
class Program
{
static void Main(string[] args)
{
int max = 0;
int ns, ks,nst,kst;
Console.Write("Kol-vo strok:");
int N = int.Parse(Console.ReadLine());
Console.Write("Kol-vo stolbcov:");
int M = int.Parse(Console.ReadLine());
int[,] mas = new int[N, M];
Random rand=new Random();
for(int i=0;i<N;i++)
{
for(int j=0;j<M;j++)
{
mas[i, j] = rand.Next(1,100);
Console.WriteLine(mas[i, j] + " \t");
}
}
Console.Write("vvedite oblast strok nachala stroki:");
ns=Convert.ToInt32( Console.ReadLine());
Console.Write("vvedite oblast konca stroki:");
ks = Convert.ToInt32(Console.ReadLine());
Console.Write("vvedite oblast strok nachala stolbca:");
nst = Convert.ToInt32(Console.ReadLine());
Console.Write("vvedite oblast konca stolbca:");
kst = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i>ns && i<ks;i++)
{
for (int j = 0; j>nst && j<kst;j++)
{
if(mas[i,j]>max)
{
max = mas[i, j];
}
}
Console.Write(max + " ");
max = 0;
}
Console.ReadKey();
}
}
}