I'm having trouble transferring my transposed array to my print subroutine. I could really use some help.
Code:
#include <stdio.h>
float transposeMatrix (int input_row, int input_col, float input_matrix[][20])
{
int row;
int col;
float tran_matrix[20][20]={0};
for (row=0; row<=input_col; row++)
{
for (col=0; col<=input_row; col++)
{
(tran_matrix[row][col])=(input_matrix[col][row]);
}
}
return tran_matrix;
}
void printMatrix (int input_row, int input_col, float input_matrix[][20])
{
int row;
int col;
int upcol;
for (row=0; row<input_row; row++)
{
printf("|--------|");
for (upcol=1; upcol<input_col; upcol++)
{
printf("--------|");
}
printf("\n \n");
for (col=0; col<input_col; col++)
{
printf("| ");
printf("%+6.1f ", input_matrix[row][col]);
}
printf("| \n \n");
}
printf("|--------|");
for (upcol=1; upcol<input_col; upcol++)
{
printf("--------|");
}
printf ("\n");
}
int main (void)
{
int user_row;
int user_col;
int row;
int col;
float input_array[20][20]={0};
float t_matrix={0};
int rows;
int columns;
// Scans for user input of rows and columns.
printf ("Number of Rows: ");
scanf ("%d", &user_row);
printf ("Number of Columns: ");
scanf ("%d", &user_col);
// Scans for user input of number entry.
for (row=0; row<user_row; row++)
{
for (col=0; col<user_col; col++)
{
scanf ("%f", &input_array[row][col]);
}
}
printf("Original Matrix: \n");
printMatrix ( user_row, user_col, input_array);
t_matrix=(transposeMatrix( user_row, user_col, input_array));
printf("Transposed Matrix: \n");
printMatrix (user_row, user_col, t_matrix);
}
The final line is where I'm having trouble.