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