Advertisement
Guest User

Untitled

a guest
Jan 18th, 2019
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.16 KB | None | 0 0
  1. double wyznacznikMacierzy(macierz x)
  2. {
  3. if(x.n ==1)
  4. {
  5. return x.dane[0][0];
  6. }
  7. if(x.n>1)
  8. {
  9. double s=0;
  10. for (int i=0;i<x.n;i++)
  11. {
  12. macierz wynik;
  13. wynik.nazwa = 'X';
  14. wynik.dane = new double *[x.m-1];
  15. for (int j = 0; j < x.m-1; j++)
  16. wynik.dane[j] = new double[x.n-1];
  17. wynik.m = x.m-1;
  18. wynik.n = x.n-1;
  19. int k=0;
  20. int l=0;
  21. for(int z=0;z<x.m;z++) //poszukiwanie w wierszu x
  22. {
  23. for(int y=0;y<x.m;y++) //poszukiwanie w wierszu y
  24. {
  25. if(!(z==i||y==0)) // jesli natknie sie na element ktory nie jest wykreslony wrzuca do macierzy
  26. {
  27. wynik.dane[k][l]=x.dane[z][y]; //wrzucanie do macierzy
  28. l++; //kolejna kolumna
  29. if(l>=wynik.n) // jesli kolumna poza granica to kolejny wiersz
  30. {
  31. l=0;
  32. k++;
  33. }
  34. if(k>=wynik.m) // jesli wiersze poza granicami to koniec czytania
  35. {
  36. break;
  37. }
  38. }
  39. }
  40. }
  41. 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
  42. }
  43. return s;
  44. }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement