Wyznacznik Macierzy -pilne

0

Mam problem...znalazlem fajny kod programu do obliczania wyznacznik ale nie moge rozgryzc jakim spoosbem jest on liczony...Gaussem, Lapcale'a czy jakim??mozecie mi pomoc?? wrzucam kod

#include <iostream>
#include <cmath> 
using namespace std; 

 int ** podmacierzy (int ** macierz, int zamowienie, int i, int j);
 int wyznacznik (int ** macierz, int zamowienie);

 int main ()
 {
	 int i, j, zamowienie,;
	 int ** macierz;

	 cout <<"Podaj rzędu macierzy:";
	 
	 cin>>zamowienie;
	 
	 
	 
	  macierz = new int * [zamowienie]; // Alokacja pamięci dla wskaźników (każdy wskaźnik reprezentuje wiersz)
   

	 cout<<"Podaj elementy macierzy: " ;

	 
	 

for (i=0; i<zamowienie; i++) {cout<<endl;

	 
	  macierz [i] = new int [zamowienie];cout<<endl; // Każdy wiersz zawiera 'porządku' liczba elementów
		 for (j=0; j<zamowienie; j++)
		 cin>> macierz [i] [j];cout<<endl;
   }


 cout<<"Wyznacznik z macierzy wynosi:";
    cout<<wyznacznik(macierz,zamowienie),"Determinant:";cout<<endl;cout<<endl;
system("pause");
	 return 0;
	

}
 int ** podmacierzy (int ** macierz, int zamowienie, int i, int j)
 {
 int ** subm;
	int p, q; //  Indeksy w macierzy
	int a = 0, b; // Indeksy do subm
	 subm= new int * [zamowienie - 1];


	  for (p=0; p<zamowienie;p++) {
		if(p==i) continue; //Skip ith row if (p == i) nadal; / / Przejdź ty wiersz
		 subm [a] = new int [zamowienie - 1];

		 b = 0;

 for (q =0; q<zamowienie; q++) {
				if(q==j) continue; // Przejdź po kolumnie j-tej
		 subm [a] [b++] = macierz [p] [q];
		 }
		a++; // Zwiększ indeks wiersza
    }
    
	
	 return subm;
}

 int wyznacznik (int ** macierz, int zamowienie)
{

if (zamowienie== 1)
		return **macierz; //Return the element if the matrix is of order one powrót ** macierz; / / Zwraca element, jeśli macierz jest zamówić

	 int i;
	 int det = 0;
 for (i = 0; i <zamowienie;i++)

	 
	 det += static_cast<int>(pow(-1.0,(int)i)) * macierz[i][0] * wyznacznik(podmacierzy(macierz, zamowienie, i, 0), zamowienie - 1);


	return det; 
	 
}
0

Rozwinięcie Laplace'a względem pierwszej kolumny.

1 użytkowników online, w tym zalogowanych: 0, gości: 1