Найти 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();
 
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.75 из 5
Похожие ответы