Code:
#include <stdio.h>
#include <stdlib.h>
int size_b_row1;
int size_b_col1;
int main(void) {
double C[4][4] = {{1,3,5,2},{7,6,2,2},{1,2,7,3},{2,3,5,3}};
double TC[4][4];
transpose(C, TC);
puts("Hello World"); /* prints Hello World */
return EXIT_SUCCESS;
}
void transpose(double** matrix_t, double** matrix)
{
int i,j;
/* allocate memory for matrix */
matrix_t=(double **) malloc(sizeof(double *)*size_b_row1);
for( i=0;i<size_b_row1;i++)
{
matrix_t[i]=(double *) malloc(sizeof(double*)*size_b_col1);
}
matrix=(double **) malloc(sizeof(double *)*size_b_row1);
for( i=0;i<size_b_row1;i++)
{
matrix[i]=(double *) malloc(sizeof(double*)*size_b_col1);
}
//output matrix
for(i=0;i<size_b_col1;i++)
{
for(j=0;j<size_b_row1;j++)
{
matrix_t[j][i]= matrix[i][j];
}
}
//free memory
for(i=0;i<size_b_row1;i++)
{
free(matrix[i]);
}
free(matrix);
for(i=0;i<size_b_row1;i++)
{
free(matrix_t[i]);
}
free(matrix_t);
} // end of main body