I want to create a transpose function for dynamic 2d arrays. I want the functions to have as parameters the 2d array and the rows and columns. I ve decided to use double pointer. However i m a bit confused about how i gonna call the function from main. So i ve got the above code
#include<iostream>
using namespace std;
void transposeMatrix(double **mat, int rows, int columns)
{
   mat = new double*[rows];
   for (int i = 0; i < rows; ++i)
   {
      mat[i] = new double[columns];
   }
   double temp;
   for (int i = 0; i<rows; i++)
   {
      for (int j = i+1; j<columns; j++)
      {
         temp=mat[i][j];
         mat[i][j]=mat[j][i];
         mat[j][i]=temp;
      }
   }
   cout<< "\n";
   for (int i = 0; i<rows; i++)
   {
      for (int j = 0; j<columns; j++)
      {
         cout << mat[i][j] << " \t";
      }
      cout << "\n";
   }
}
int main()
{
   int rows = 10;
   int columns = 10;
   double mat[rows][columns];
   for (int i = 0; i<rows; i++)
   {
      for (int j = 0; j<columns; j++)
      {
         mat[i][j] = j;
      }
   }
   for (int i = 0; i<rows; i++)
   {
      for (int j = 0; j<columns; j++)
      {
         cout << mat[i][j] << " \t";
      }
      cout << "\n";
   }
   //mat = new double[50][1];
   transposeMatrix(mat, 10, 10);
   system("pause");
   return 0;
}
Any idea?
 
     
     
     
    