CrazzyBeer

Matrix Determinant

May 4th, 2015
280
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.78 KB | None | 0 0
  1. vector < vector <int> > cutVector(vector < vector <int> > b,int i,int j) {
  2.             vector < vector <int> > temp;
  3.             int k=0;
  4.             for (int l=0;l<b.size();l++) {
  5.                 if (l==i) continue;
  6.                 temp.push_back(vector<int>());
  7.                 for (int o=0;o<b[l].size();o++) {
  8.                     if (o==j) continue;
  9.                     temp[k].push_back(b[l][o]);
  10.                 }
  11.                 k++;
  12.             }
  13.             return temp;
  14. }
  15. int matrixDeterminant(int n,vector < vector <int> > b) {
  16.         if (n==1) return b[0][0];
  17.         int c=0;
  18.             for (int j=0;j<b[0].size();j++) {
  19.                 int m=((j%2==0)?1:-1);
  20.                 c+=m*b[j][0]*matrixDeterminant(n-1,cutVector(b,j,0));
  21.             }
  22.         return c;
  23. }
Advertisement
Add Comment
Please, Sign In to add comment