Keresse meghatározója négyzetes mátrix

PROBLÉMA Keresse meghatározója négyzetes mátrix.
Determináns (determináns) négyzetes mátrix - olyan szám, amely hozzá van rendelve egy mátrixot és értékelni, mint annak elemeit az alábbi szabályokat.
- Egy mátrix elsőrendű érték a meghatározó egyenlő egyetlen elem a mátrix:
- A mátrix a másodrendű (2 × 2) értéke a determináns számítjuk
- A mátrixok a magasabb rendű (nagyobb, mint kettő) m × m meghatározó tudjuk szerint kiszámított rekurzív képlettel:
ahol Mij - kisebb kiegészítő négyzetes mátrix - a meghatározója a kapott mátrix törlésével egy olyan forrásból i -edik sor és j -edik oszlop.
Például, a számítási képlet a meghatározója a mátrix kívül, 3 a formája
Megvalósítás C ++
#include
using namespace std;
// kimeneti funkció mátrix
void Pr int Matr (int ** mas, int m) int i, j;
for (i = 0; i
>
// A tömb nélkül az i-edik sorának és j-edik oszlop
érvényteleníti GetMatr (int ** mas, int ** p, int i, int j, int m) int ki, kj, di, dj;
di = 0;
a (Ki = 0; Ki
dj = 0;
a (kj = 0; kj
p [Ki] [kJ] = mas [Ki + di] [kJ + dj];
>
>
>
// rekurzív számítása a meghatározó
int determináns (int ** mas, int m) int i, j, d, k, n;
int ** p;
p = új int * [m];
for (i = 0; i
J = 0; d = 0;
k = 1; // (- 1) i fokban
n = m - 1;
ha (m<1) cout <<"Определитель вычислить невозможно!" ;
ha (m == 1) d = mas [0] [0];
vissza (d);
>
ha (m == 2) d = mas [0] [0] * Mas [1] [1] - (MAS [1] [0] * Mas [0] [1]);
vissza (d);
>
ha (m> 2) az (i = 0; i
d = d + K * mas [i] [0] * determináns (p, n);
k = -k;
>
>
vissza (d);
>
// fő funkciója
int main () int m, i, j, d;
int ** mas;
rendszer ( "CHCP parancs 1251");
rendszer ( "CLS");
cout <<"Введите размерность квадратной матрицы: " ;
cin >> m;
mas = új int * [m];
for (i = 0; i
>
>
Pr int Matr (mas, m);
d = determináns (mas, m);
cout <<"Определитель матрицы равен " <
vissza 0;
>