Обеспечить операторы преобразования матрицы к типу double[] и наоборот - от типа double[] к матрице - C#

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

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

Здравствуйте. Выполняю лабораторную работу, по заданию которой необходимо создать класс "Матрица" со всякими там "наворотами". Очередной раз споткнулся на задании: "Обеспечить операторы преобразования матрицы к типу double[] (при этом элементы матрицы должны располагаться в результирующем массиве построчно), и наоборот - от типа double[] к матрице." Первая часть вроде понятно -- беру элементы матрицы и записываю в массив double[]. А вот наоборот -- чего-то не очень: как из одномерного массива сделать двумерный -- надо же размерность знать. Или я чего-то не так понял? С уважением, Владислав.

Решение задачи: «Обеспечить операторы преобразования матрицы к типу double[] и наоборот - от типа double[] к матрице»

textual
Листинг программы
public static implicit operator Matrix(double[] dimArr) 
        {
            double dimension = System.Math.Sqrt(dimArr.Length);
            if ((dimArr.Length % dimension) != 0)
                throw new ArgumentException("Невозможно выполнить преобразование из-за неподходящего количества элементов в массиве");
            Matrix A = new Matrix((int)dimension);
            int k=0;
            for (int i = 0; i < A.Rows; i++)
                for (int j = 0; j < A.Cols; j++)
                    A[i, j] = dimArr[k++];
            return A;
        }

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


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

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

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