Popatrzyłem w kod i zdziwiło mnie parę rzeczy:
metoda wyznacznik przyjmuje jakieś dziwne parametry!
Powinieneś mieć takie metody wyznacznik:
double wyznacznik() const;
double wyznacznik(int i, int j) const; // wyznacznik bez i-tej kolumny i k-tego wiersza
double wyznacznik(int column, const Wektor& vector) const; // wyznacznik z zastąpieniem kolumny numer column przez vector
double wyznacznik(int column, const double *vectorData) const; // to samo co wyżej tylko w innej formie, wiadomo ile powinno być liczb w tej tablicy na podstawie samej macierzy
Masz osobną klasę na macierz jednostkową, zamiast po prostu wystawić metodę (statyczną) zwracającą taką macierz.
static Macierz jednostkowa(int size);
Macierz jednostkowa(); // rozmiar ustalany na podstawie bieżącej macierzy
Co do samego problemu, naprawdę nie brakuje w internecie opisu kilku algorytmów, w różnych językach. Nic tylko znaleźć, przeanalizować i przepisać.