Oi pessoal, tenho um exercício para resolver da cadeira de Estrutura de Dados, mas não consigo ver onde está o erro no código que tentei fazer!!! Gostaria da ajuda de vocês para resolver isso! :?
Ederson, o próprio enunciado do exercício gera dúvidas.
Confrontando o enunciado com seu código cheguei a conclusões diferentes.
Me parece que quem elaborou o exercício escreveu uma coisa e desenhou outra.
Você poderia fornecer alguns esclarecimentos?
1-) o primeiro array é unidimensional ou é um array 3 x 6? Sempre será 3 x 6?
2-) o segundo parece mais um array bidimensional, mas o retorno do método está considerando um array de uma dimensão.
Independente das respostas, teste o código abaixo
publicclassMatrizTransposta01{publicstaticvoidmain(String[]args){intvalor[][]={{1,2,3,4,5,6},{7,8,9,10,11,12},{13,14,15,16,17,18}};// impressãoSystem.out.println("Matriz original");inti=0,j=0;for(int[]dimensao1:valor){for(intdimensao2:dimensao1){System.out.print("\t"+valor[i][j]+", ");j++;}i++;j=0;System.out.println();}ordenaMatriz(valor);}privatestaticvoidordenaMatriz(int[][]valor){inti=0,j=0;// constróe a primeira dimensão intordenada[][]=newint[valor.length][];// constróe a segunda dimensãofor(int[]dimensao2:ordenada){ordenada[i]=newint[valor[i].length];i++;}// popula o array desejadoi=0;j=0;intx=0,z=0;for(i=0;i<ordenada.length;i++){x=0;for(j=0;j<ordenada[i].length;j++){ordenada[x][z]=valor[i][j];if(x==(ordenada.length-1)){x=0;z++;}else{x++;}}}// impressãoSystem.out.println("\nMatriz reordenada");i=0;j=0;for(int[]dimensao1:ordenada){for(intdimensao2:dimensao1){System.out.print("\t"+ordenada[i][j]+", ");j++;}i++;j=0;System.out.println();}}}
Boa sorte!
Ederson_Lima
Opa, falew mesmo mspereira, acho que seja pelo enunciado mesmo que não estava entendendo em como faze-la.
Desculpa perguntar, pois sou novo ainda com java, mas, qual a diferença dos for ( ; ; ) e for ( : )
for(int[]dimensao1:valor)
Mais uma vez agredeço, abraços…
Giulliano
Ederson Lima:
Opa, falew mesmo mspereira, acho que seja pelo enunciado mesmo que não estava entendendo em como faze-la.
Desculpa perguntar, pois sou novo ainda com java, mas, qual a diferença dos for ( ; ; ) e for ( : )
for(int[]dimensao1:valor)
Mais uma vez agredeço, abraços…
A partir do java 5 foi adicionado o “for each” (Objetc obj : objetcs) onde lê-se “Para cada Objeto obj de objects”. Eles são mais rápidos, mais confiáveis e recomenda-se o uso deles a partir do java 5 a menos que vc queira remover ou adicionar itens à lista percorrida.