Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.45 KB | None | 0 0
  1. void Matrix::transpose() {
  2.     if (!arr) return;
  3.     else {
  4.         Matrix temp = *this;    //save current matrix to the temp
  5.        
  6.         int t = n;             
  7.         n = m;
  8.         m = t;                      //swap width and height
  9.        
  10.         arr = new double*[n];
  11.         for (int i = 0; i < n; i++)
  12.             arr[i] = new double[m];     //allocate memory for transposed matrix
  13.        
  14.         for (int i = 0; i < n; i++)
  15.             for (int j = 0; j < m; j++)
  16.                 arr[i][j] = temp.arr[j][i];     //fill new matrix with elements from temp
  17.     }
  18. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement