как исключить из матрицы строку и столбец на пересечении которых расположен минимальный элемент главной диагонали?

выдает ошибку хотя сделала все по примеру препода выдает ошибку хотя сделала все по примеру препода

int[,] myMatrix = new int[8, 8];
            Random rand = new Random();
            for (int i = 0; i < myMatrix.GetLength(0); i++)
            {
                for (int j = 0; j < myMatrix.GetLength(1); j++)
                {
                    myMatrix[i, j] = rand.Next(0, 100);
                }
            }
            Console.WriteLine("початкова матриця");
            for (int i = 0; i < myMatrix.GetLength(0); i++)
            {
                for (int j = 0; j < myMatrix.GetLength(1); j++)
                {
                    Console.Write(myMatrix[i, j] + "\t");
                }
            }
          
            int minValue = myMatrix[0, 0];
            int minIndex = 0;
            for (int i = 1; i < myMatrix.GetLength(0); i++)
            {
                if (myMatrix[i, i] < minValue)
                {
                    minValue = myMatrix[i, i];
                    minIndex = i;
                }
            }
            Console.WriteLine("мінімальний елемент = {0}", minValue);
            Console.WriteLine("індекси мін. ел.  [{0},{0}]", minIndex);

            int[,] myMatrixNew = new int[myMatrix.GetLength(0) - 1, myMatrix.GetLength(1) - 1];
            for (int i = 0; i < myMatrix.GetLength(0); i++)
            {
                for (int j = 0; j < myMatrix.GetLength(1); j++)
                {
                    if (i < minIndex && j < minIndex)
                        myMatrixNew[i, j] = myMatrix[i, j];
                    if (i >= minIndex && j < minIndex)
                        myMatrixNew[i, j] = myMatrix[i + 1, j];
                    if (i < minIndex && j > minIndex)
                        myMatrixNew[i, j] = myMatrix[i, j + 1];
                    if (i >= minIndex && j > minIndex)
                        myMatrixNew[i, j] = myMatrix[i + 1, j + 1];
                }
            }
            myMatrix = myMatrixNew;

            Console.WriteLine("матриця після перетворень");
            for (int i = 0; i < myMatrix.GetLength(0); i++)
            {
                for (int j = 0; j < myMatrix.GetLength(1); j++)
                {
                    Console.WriteLine(myMatrix[i, j] + "\t");
                }
                Console.WriteLine();
            }
            Console.ReadKey();

Ответы (0 шт):