.NET 4.x Исключение "индекс находился вне границ массива" при заполнении массива значением - C#

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

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

Всем доброго времени суток, делаю курсовую на языке программирования C#. Задача: В (0, 1)-матрице подсчитать число изолированных 0-областей, т.е. областей, состоящих из одних нулей, 0-область может состоять только из одного нулевого элемента. Пользователь вводит с клавиатуры размерность матрицы и значения элементов матрицы. Программа определяет количество изолированных 0-областей в матрице. Проблема: После ввода переменных и обозначения размера массива, пытаюсь заполнить массив данными, но выбивает с исключением System.IndexOutOfRangeException. Помогите разобраться, не могу понять что я делаю не так.
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace ConsoleApplication1
  7. {
  8. class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. int number_line = 0; //Число строк в матрице
  13. int number_column = 0; //Число столбцов в матрице
  14. int number_zero = 0; //Количество нулевых элементов
  15. int number_x = 0; //Номер нулевой зоны
  16. int number_y = 0; //Количество нулевых зон
  17. int k = 0; //Номер нулевого элемента в массиве
  18. int max = 0; //Номер максимальной зоны
  19. int[,] mas = new int[number_line, number_column]; //Создание массива для хранения матрицы
  20. int[,] koordinat = new int[number_zero, 2]; //Создание массива с "координатами" нулевых элементов
  21. int[,] number_zone = new int[1, number_zero]; //Создание массива с номерами нулевых зон
  22. //Сообщение о вводе количества строк матрицы
  23. Console.WriteLine("Введите количество строк матрицы и нажмите <Enter> =>");
  24. //Ввод количества строк матрицы с клавиатуры
  25. number_line = Convert.ToInt16(Console.ReadLine());
  26. //Сообщение о вводе количества столбцов матрицы
  27. Console.WriteLine("Введите количество столбцов матрицы и нажмите <Enter> =>");
  28. //Ввод количества столбцов матрицы с клавиатуры
  29. number_column = Convert.ToInt16(Console.ReadLine());
  30. //Цикл ввода матрицы с клавиатуры
  31. for (int i = 0; i < number_line; i++)
  32. {
  33. for (int j = 0; j < number_column; j++)
  34. {
  35. Console.WriteLine("Введите значение элемента матрицы ({0},{1}) \t", i, j);
  36. mas[i, j] = Convert.ToInt32(Console.ReadLine());
  37. }
  38. Console.WriteLine();
  39. }
  40. }
  41. }
  42. }

Решение задачи: «.NET 4.x Исключение "индекс находился вне границ массива" при заполнении массива значением»

textual
Листинг программы
  1. static void Main(string[] args) {
  2.  int number_line = 0; //Число строк в матрице
  3.  int number_column = 0; //Число столбцов в матрице
  4.  int number_zero = 0; //Количество нулевых элементов
  5.  int number_x = 0; //Номер нулевой зоны
  6.  int number_y = 0; //Количество нулевых зон
  7.  int k = 0; //Номер нулевого элемента в массиве
  8.  int max = 0; //Номер максимальной зоны
  9.  int[,] mas = new int[number_line, number_column]; //Создание массива для хранения матрицы
  10.  int[,] koordinat = new int[number_zero, 2]; //Создание массива с "координатами" нулевых элементов
  11.  int[,] number_zone = new int[1, number_zero]; //Создание массива с номерами нулевых зон
  12.  //Сообщение о вводе количества строк матрицы
  13.  Console.WriteLine("Введите количество строк матрицы и нажмите <Enter> =>");
  14.  //Ввод количества строк матрицы с клавиатуры
  15.  number_line = Convert.ToInt16(Console.ReadLine());
  16.  //Сообщение о вводе количества столбцов матрицы
  17.  Console.WriteLine("Введите количество столбцов матрицы и нажмите <Enter> =>");
  18.  //Ввод количества столбцов матрицы с клавиатуры
  19.  number_column = Convert.ToInt16(Console.ReadLine());
  20.  //Цикл ввода матрицы с клавиатуры
  21.  for (int i = 0; i < number_line; i++)[

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


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

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

8   голосов , оценка 3.875 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы