Удаление столбцов из матрицы - C#

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

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

Дана матрица. Необходимо удалить из нее заданный диапазон столбцов. Вот написал функцию. Но где-то выходит за границы. Все ни как не могу понять где именно. Посмотрите пожалуйста.
        static void Delete(ref int stringSize, int columnSize, ref int[,] matr)   //удаление строк из матрицы
        {
            if (!ExistArray(matr))
            {
                Console.WriteLine("Массив пустой");
                return;
            }
            Console.WriteLine("Введите с какой строки хотите удалить");
            int StartDelete = CheckMyVal();
            Console.WriteLine("Введите до какой строки хотите удалять");
            int FinDelete = CheckMyVal();
            if ((StartDelete > stringSize) || (FinDelete > stringSize))
            {
                Console.WriteLine("Такое удаление произвести нельзя");
                return;
            }
            int newColumnSize = columnSize - ((FinDelete - StartDelete) + 1);
            int[,] tempMatr = new int[stringSize, newColumnSize];
            int t = 0;
            for (int i = 0; i <= columnSize - 1; i++)
            {
                if ((i < StartDelete - 1) || (i > FinDelete - 1))
                {
                    for (int j = 0; j < stringSize; j++)
                        tempMatr[j, t] = matr[j, i];
                    t++;
                }
            }
            matr = tempMatr;
            columnSize = newColumnSize;
            Console.WriteLine("Удаление выполнено!");
        }

Решение задачи: «Удаление столбцов из матрицы»

textual
Листинг программы
int newColumnSize = columnSize - ((FinDelete - StartDelete) + 1);
            int[,] tempMatr = new int[stringSize, newColumnSize];
            int t = 0;
            for (int i = 0; i <= columnSize - 1; i++)
            {
                if ((i < StartDelete - 1) || (i > FinDelete - 1))
                {
                    for (int j = 0; j < stringSize; j++)
                        tempMatr[j, t] = matr[j, i];
                    t++;
                }
            }
            matr = tempMatr;
            columnSize = newColumnSize;

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


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

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

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