Нахождение ранга матрицы - 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;
}