Guest User

Untitled

a guest
Nov 22nd, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. int pw(int a){
  2. if(a%2==0)return 1;else return -1;
  3. }
  4. float det(vector<vector<float> > &arr, int rows){
  5. vector<vector<float> > arr2;
  6. float dett=0,hk;
  7. if(rows==2){
  8. dett= (arr[0][0]*arr[1][1]-arr[0][1]*arr[1][0]);
  9. } else {
  10. for(int i=0;i<rows;i++){
  11. hk=arr[0][i];arr2=arr;
  12. arr2.erase(arr2.begin());
  13. for(int k=0;k<rows-1;k++)arr2[k].erase(arr2[k].begin()+i);
  14. dett=dett+pw(i)*hk*det(arr2,rows-1);
  15. }
  16. }
  17. return dett;
  18. }
  19.  
  20. int pw(int a)
  21. {
  22. if (a % 2 == 0) return 1; else return -1;
  23. }
  24. double det(List<List<double>> arr)
  25. {
  26.  
  27. int rows = arr.Count;
  28. List<List<double>> arr2;
  29. double dett = 0, hk;
  30. if (rows == 2)
  31. {
  32. dett = (arr.First().First() * arr.Last().Last() - arr.First().Last() * arr.Last().First());
  33. }
  34. else
  35. {
  36. for (int i = 0; i < arr.Count; i++)
  37. {
  38. hk = arr[0][i]; arr2 = arr;
  39. arr2.RemoveAt(0);
  40. foreach (List<double> k in arr2) k.RemoveAt(i);
  41. dett = dett + pw(i) * hk * det(arr2);
  42. }
  43. }
  44. return dett;
  45. }
Add Comment
Please, Sign In to add comment