Ошибка в поиске локального минимума - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день! Уважаемые программисты, прошу помощи. Помогите разобраться, почему индекс находится вне границы массива? Мне дана матрица размера MxN, заполняю случайными числами и нахожу кол-во локальных минимумов. Вот код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Z
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Введите кол-во строк: ");
            int m = Convert.ToInt32(Console.ReadLine());
            Console.Write("Введите кол-во столбцов: ");
            int n = Convert.ToInt32(Console.ReadLine());
 
            Console.WriteLine("Матрица: ");
            int[,] mas = new int[m, n];
            Random r = new Random();
            for (int i = 0; i < m; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    mas[i, j] = r.Next(-30, 31);
                    Console.Write(mas[i, j].ToString() + "\t");
                }
                Console.WriteLine();
            }

            //подсчет локальных минимумов
            int count = 0;
            for (int i = 1; i < m; i++)
            {
                for (int j = 1; j < n; j++)
                {
                    if (mas[i - 1, j] > mas[i, j] && mas[i + 1, j] > mas[i, j])
                        if (mas[i, j - 1] > mas[i, j] && mas[i, j + 1] > mas[i, j])
                            count++;
                }
            }
            Console.WriteLine("Количество локальных минимумов: " + count);
            Console.ReadKey();
        }
    }
}

Решение задачи: «Ошибка в поиске локального минимума»

textual
Листинг программы
mas[i + 1, j] > mas[i, j]

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


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

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

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