System.IndexOutOfRangeException - C# (184292)

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

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

Console.WriteLine("Сумма элементов в тех строках, которые содержат >=1 отрицательных элементов:");
            for (int i = 0; i < 4; i++)
            {
              //проверяет на отрицательный элемент
                bool el = false;//элемента нет
                for (int j = 0; j < 4; j++)
                    if (A[i, j] < 0)
                    {
                        el = true;
                        break;
                    }
                 //если отрицательные элементы есть найдем сумму и выведем её
                if (el)
                {
                    double sum = 0.0;
                    for (int j = 0; j < 4; j++)
                        sum += A[i, j];
                    Console.WriteLine(sum.ToString());
                }
            }
            Console.WriteLine();
Кусок из программы, на этом месте if (A[i, j] < 0) вы водит ошибку "System.IndexOutOfRangeException". Как исправить, подскажите

Решение задачи: «System.IndexOutOfRangeException»

textual
Листинг программы
 class Program
    {
        static void Main(string[] args)
        {
 
            Console.Write("Введите кол-во строк: ");
            int n = int.Parse(Console.ReadLine());
            Console.Write("Введите кол-во столбцов: ");
            int m = int.Parse(Console.ReadLine());
            Console.WriteLine("Заполнение матрици:");
            int[,] A = new int[n, m];
            for (int i = 0; i < n; ++i)
            {
                for (int j = 0; j < m; ++j)
                {
                    A[i, j] = Convert.ToInt32(Console.ReadLine());
                }
            }
            Console.WriteLine("Полученная матрица:");
            for (int i = 0; i < n; ++i)
            {
                for (int j = 0; j < m; ++j)
                {
                    Console.Write(A[i, j] + "\t");
                }
                Console.WriteLine("\n");
            }
            Console.WriteLine("Сумма элементов в тех строках, которые содержат >=1 отрицательных олементов:");
            for (int i = 0; i < 4; i++)
            {
                //проверяет на отрицательный элемент
                bool el = false;//элемента нет
                for (int j = 0; j < 4; j++)
                    if (A[i, j] < 0)
                    {
                        el = true;
                        break;
                    }
                //если отрицательные элементы есть найдем сумму и выведем её
                if (el)
                {
                    double sum = 0.0;
                    for (int j = 0; j < 4; j++)
                        sum += A[i, j];
                    Console.WriteLine(sum.ToString());
                }
            
             Console.WriteLine();
             Console.ReadKey();
            }
        }
    }
}

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


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

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

6   голосов , оценка 3.833 из 5