Ошибка в поиске локального минимума - 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]
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д