#include // protótipos de funções void transpormatriz(int m1[][100], int m2[][100], int l, int c); void imprimematriz(int m[][100], int l, int c); void lematriz(int m[][100], int *l, int *c); // declarações de funções void transpormatriz(int m1[][100], int m2[][100], int l, int c) { int i, j; for (i = 0; i < l; i++) for (j = 0; j < c; j++) m2[j][i] = m1[i][j]; } void lematriz(int m[][100], int *l, int *c) { int i, j; printf("\nDigite a dimensão da matriz:"); scanf("%d %d", l, c); printf("\nDigite os elementos da matriz:"); for (i = 0; i < *l; i++) for (j = 0; j < *c; j++) scanf("%d", &m[i][j]); } void imprimematriz(int m[][100], int l, int c) { int i, j; printf("\nA dimensão da matriz é %d x %d.\n", l, c); printf("Os elementos são: \n"); for (i = 0; i < l; i++) { for (j = 0; j < c; j++) printf("%3.2d ", m[i][j]); printf("\n"); } } int main() { int l, c; int mat[100][100]; int T[100][100]; // Imprime a matriz original l x c lematriz(mat, &l, &c); // Imprime a matriz original l x c imprimematriz(mat, l, c); // Invoca a função transposta transpormatriz(mat, T, l, c); // Imprime a matriz transpota c x l imprimematriz(T, c, l); return (0); }