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

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

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

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

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

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

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


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

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

7   голосов , оценка 3.714 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы