Немного доработать метод по нахождению определителя квадратной матрицы - C#

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

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

Добрый день, есть класс, помогите пожалуйста дописать метод по нахождению определителя квадратной матрицы н-ого порядка
Листинг программы
  1. class matrix
  2. {
  3. int n;
  4. int[,] arr;
  5. public void enter();
  6. public void output();
  7. public void addmat(matrix temp);
  8. public void multimat(matrix tmp);
  9. public void transpon();
  10. public int determ()
  11. {
  12. int det = 0;
  13. if (n == 1)
  14. {
  15. det = arr[0, 0];
  16. }
  17. else if (n == 2)
  18. {
  19. det = arr[0, 0] * arr[1, 1] - arr[0, 1] * arr[1, 0];
  20. }
  21. else
  22. {
  23. int[,] matr = new int[n - 1, n - 1];
  24. for (int i = 0; i < n; ++i)
  25. {
  26. for (int j = 0; j < n - 1; ++j) // чего-то нашел тут на форуме, но в компиляторе краснота
  27. {
  28. if (j < i)
  29. matr[j] = arr[j];
  30. else
  31. matr[j] = arr[j + 1];
  32. }
  33. det += Math.Pow((double)-1, (i + j)) * determ(matr, n - 1, n - 1) * b[i, n - 1];
  34. }
  35. }
  36. return det;
  37. }
  38. }
Помогите прошу!

Решение задачи: «Немного доработать метод по нахождению определителя квадратной матрицы»

textual
Листинг программы
  1.     class Matrix
  2.     {
  3.         private double[,] _matrix;
  4.  
  5.         public Matrix() { }
  6.  
  7.         public Matrix(double[,] matrix)
  8.         {
  9.             _matrix = matrix;
  10.         }
  11.  
  12.         public static Matrix operator +(Matrix first, Matrix second)
  13.         {
  14.             if (first._matrix.GetLength(0) != second._matrix.GetLength(0)) throw new ArgumentException();
  15.             if (first._matrix.GetLength(1) != second._matrix.GetLength(1)) throw new ArgumentException();
  16.  
  17.             int n = first._matrix.GetLength(0);
  18.             int m = first._matrix.GetLength(1);
  19.  
  20.             Matrix newMatrix = new Matrix();
  21.             for (int i = 0; i < n; i++)
  22.             {
  23.                 for (int j = 0; j < m; j++)
  24.                 {
  25.                     newMatrix._matrix[i, j] = first._matrix[i, j] + second._matrix[i, j];
  26.                 }
  27.             }
  28.  
  29.             return newMatrix;
  30.         }
  31.     }

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


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

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

9   голосов , оценка 3.889 из 5

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

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

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