Dúvida em Transposição de Matriz!

3 respostas
arm.jr

Como eu faço uma matriz transposta?

Estou com dúvida para preenche-la usando char.

3 Respostas

kinow

Você quer um código que faça ou você não se lembra???

[ a b c ] Transposta

=

[ a ]
[ b ]
[ c ]

Se for fazer em um código, é só fazer um loop pela matriz original e preencher outra (a transposta), que terá no número de linha (primeiro índice da matriz [][] por exemplo) o número de colunas da original, e o mesmo caso ocorre com o número de colunas.

Abraço. Espero ter ajudado um pouco pelo menos. :slight_smile:

arm.jr

Queria ver um código bem simples para poder entender melhor!

Fox_McCloud
x = colunas y = linhas
int[][] matriz = matriz[y][x]; // x colunas para cada linha
matriz.length = nº de linhas da matriz matriz[0].length = nº de colunas da matriz
public class TransposeMatrix
{

	public static char[][] transposeMatrix(char[][] matrix){
	    char[][] transposedMatrix = new char[matrix[0].length][matrix.length];
	    for(int y=0; y < matrix.length; y++){
	        for(int x=0; x < matrix[0].length; x++){
	            transposedMatrix[x][y] = matrix[y][x];
	        }
	    }
	    return transposedMatrix;
	}
	
	public static void main(String args[]){
	    char[][] matrix = new char[][]{	{'A','B','C'},
	            				{'D','E','F'}};
	    char[][] transposedMatrix = TransposeMatrix.transposeMatrix(matrix);
	    for(int y=0; y < transposedMatrix.length; y++){
	        for(int x=0; x < transposedMatrix[0].length; x++){
	            System.out.print(transposedMatrix[y][x]+" ");
	        }
	        System.out.print("\n");
	    }
	}
    
}
Resultado: A D B E C F
Criado 27 de março de 2006
Ultima resposta 27 de mar. de 2006
Respostas 3
Participantes 3