Нахождение ранга матрицы - C#

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

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

Здравствуйте! Мне надо найти ранг матрицы, но стандартные средства с# работают не так мне как надо.
int[,] mat = new int[3,3]{{2,3,1},{2,4,6},{7,5,2}};
return mat.Rank;//=2 но должен быть равен 3

Решение задачи: «Нахождение ранга матрицы»

textual
Листинг программы
public int Rank(int[,] matrix ) {
            int rang = 0;
            int q = 1;
 
            while (q <= MinValue(matrix.GetLength(0), matrix.GetLength(1))) {
                int[,] matbv = new int(q, q);
                for (int i = 0; i < (matrix.GetLength(0) - (q - 1)); i++) {
                    for (int j = 0; j < (matrix.GetLength(1) - (q - 1)); j++) {
                        for (int k = 0; k < q; k++) {
                            for (int c = 0; c < q; c++) {
                                matbv[k, c] = matrix[i + k, j + c];
                            }
                        }
 
                        if (Determ(matbv) != 0) {
                            
                            rang = q; 
                        }
                    }
                }
                q++; 
            }
 
            return rang;
        }
 
        private int MinValue(int a, int b) {
            if (a >= b)
                return b;
            else
                return a;
        }

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


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

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

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