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

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 cout < cout <>
>
// 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 ha (ki == i) di = 1;
dj = 0;
a (kj = 0; kj ha (kj == j) dj = 1;
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 p [i] = new int [m];
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 cout < Pr int Matr (p, n);
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 a (j = 0; j cin.get (); cin.get ();
vissza 0;
>