Neste exemplo, você aprenderá a encontrar a transposição de uma matriz na programação C.
Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação C:
- Matrizes C
- Arrays C Multidimensional
A transposta de uma matriz é uma nova matriz obtida pela troca de linhas e colunas.
Neste programa, o usuário é solicitado a inserir o número de linhas r e colunas c. Seus valores devem ser inferiores a 10 neste programa.
Em seguida, o usuário é solicitado a inserir os elementos da matriz (de ordem r*c
).
O programa a seguir calcula a transposição da matriz e a imprime na tela.
Programa para encontrar a transposição de uma matriz
#include int main() ( int a(10)(10), transpose(10)(10), r, c, i, j; printf("Enter rows and columns: "); scanf("%d %d", &r, &c); // Assigning elements to the matrix printf("Enter matrix elements:"); for (i = 0; i < r; ++i) for (j = 0; j < c; ++j) ( printf("Enter element a%d%d: ", i + 1, j + 1); scanf("%d", &a(i)(j)); ) // Displaying the matrix a()() printf("Entered matrix: "); for (i = 0; i < r; ++i) for (j = 0; j < c; ++j) ( printf("%d ", a(i)(j)); if (j == c - 1) printf(""); ) // Finding the transpose of matrix a for (i = 0; i < r; ++i) for (j = 0; j < c; ++j) ( transpose(j)(i) = a(i)(j); ) // Displaying the transpose of matrix a printf("Transpose of the matrix:"); for (i = 0; i < c; ++i) for (j = 0; j < r; ++j) ( printf("%d ", transpose(i)(j)); if (j == r - 1) printf(""); ) return 0; )
Resultado
Insira linhas e colunas: 2 3 Insira os elementos da matriz: Insira o elemento a11: 1 Insira o elemento a12: 4 Insira o elemento a13: 0 Insira o elemento a21: -5 Insira o elemento a22: 2 Insira o elemento a23: 7 Matriz inserida: 1 4 0 -5 2 7 Transpor da matriz: 1 -5 4 2 0 7