Обеспечить операторы преобразования матрицы к типу 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; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д