Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- double wyznacznikMacierzy(macierz x)
- {
- if(x.n ==1)
- {
- return x.dane[0][0];
- }
- if(x.n>1)
- {
- double s=0;
- for (int i=0;i<x.n;i++)
- {
- macierz wynik;
- wynik.nazwa = 'X';
- wynik.dane = new double *[x.m-1];
- for (int j = 0; j < x.m-1; j++)
- wynik.dane[j] = new double[x.n-1];
- wynik.m = x.m-1;
- wynik.n = x.n-1;
- int k=0;
- int l=0;
- for(int z=0;z<x.m;z++) //poszukiwanie w wierszu x
- {
- for(int y=0;y<x.m;y++) //poszukiwanie w wierszu y
- {
- if(!(z==i||y==0)) // jesli natknie sie na element ktory nie jest wykreslony wrzuca do macierzy
- {
- wynik.dane[k][l]=x.dane[z][y]; //wrzucanie do macierzy
- l++; //kolejna kolumna
- if(l>=wynik.n) // jesli kolumna poza granica to kolejny wiersz
- {
- l=0;
- k++;
- }
- if(k>=wynik.m) // jesli wiersze poza granicami to koniec czytania
- {
- break;
- }
- }
- }
- }
- s += x.dane[i][0]*pow(-1,i+2)*wyznacznikMacierzy(wynik); //2 to wykreslona kolumna ( gdyz j moze byc dowolnie przez nas wybrana kolumna - wedlug definicji ), i+2 to jak w definicji wyznacznika i-nr wiersza i j- kolumny i+j
- }
- return s;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement