Você está aqui: C ::: C para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular a transposta de uma matriz em C - Curso de C para Geometria Analítica e Álgebra LinearQuantidade de visualizações: 1288 vezes |
|
A matriz transposta de uma matriz A é a matriz AT. Tal matriz é obtida quando copiamos os elementos da matriz A para uma outra matriz (ou para ela mesma) e trocamos de posição as linhas e colunas. Dessa forma, a primeira linha da matriz A se transforma na primeira coluna da matriz transposta, a segunda linha da matriz A se transforma na segunda coluna da matriz transposta e assim por diante. Em termos de notação, podemos dizer, de forma algébrica, que: ATji = Aij Onde i representa as linhas e j representa as colunas, tanto na matriz original quanto na matriz transposta. É importante estar atento à quantidade de linhas e colunas na matriz original e na matriz transposta equivalente. Assim, se a matriz original for 3x2, a matriz transposta será 2x3. Antes de vermos o código C, dê uma olhada na seguinte matriz de duas linhas e três colunas: \[A = \left[\begin{matrix} 3 & 5 & 7 \\ 1 & 2 & 9 \end{matrix}\right] \] Sua matriz transposta correspondente é: \[A^T = \left[\begin{matrix} 3 & 1 \\ 5 & 2 \\ 7 & 9 \end{matrix}\right] \] E agora veja o código C que declara uma matriz 2x3 e gera a matriz transposta 3x2: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main(int argc, char *argv[]){
setlocale(LC_ALL,""); // para acentos do português
// vamos declarar e construir uma matrix
// 2x3 (duas linhas e três colunas
int matriz[2][3] = {{3, 5, 7}, {1, 2, 9}};
int i, j;
// vamos exibir os valores da matriz
printf("Elementos da matriz:\n");
for(i = 0; i < 2; i++){
for(j = 0; j < 3; j++){
printf("%5d ", matriz[i][j]);
}
printf("\n");
}
// como temos uma matriz 2x3, a transposta deverá ser
// 3x2, ou seja, três linhas e duas colunas
int linhas = 3; // linhas da matriz original
int colunas = 2; // colunas da matriz original
int transposta[linhas][colunas];
// e agora vamos preencher a matriz transposta
for(i = 0; i < 2; i++){
for(j = 0; j < 3; j++){
transposta[j][i] = matriz[i][j];
}
}
// vamos exibir os valores da matriz transposta
printf("Elementos da matriz transposta:\n");
for(i = 0; i < 3; i++){
for(j = 0; j < 2; j++){
printf("%5d ", transposta[i][j]);
}
printf("\n");
}
printf("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado:
Elementos da matriz:
3 5 7
1 2 9
Elementos da matriz transposta:
3 1
5 2
7 9
|
|
|
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







