Escreva a localização (linha e coluna) do maior valor de uma matriz de 2 x 2
8 respostas
J
JorgeC
Alguém sabe como deve ficar o códio, tentei e ficou assim (usando o scanner):
/* * To change this template, choose Tools | Templates * and open the template in the editor. */packagejavaapplication2;importjava.util.Scanner;/** * * @author Aluno */publicclassExercicio02{/** * @param args the command line arguments */publicstaticvoidmain(String[]args){// TODO code application logic hereScannersc=newScanner(System.in);int[,]matM=newint[2,2];intmaior=0;for(intl=0;l<2;l++){for(intc=0;c<2;c++){System.out.print("Digite um valor para"+l+" e "+c+": ");matM[l,c]=sc.nextInt();if(l==0&&c==0){maior=matM[l,c];}else{if(matM[l,c]>maior){maior=matM[l,c];System.out.print("Linha: "+l+"\nColuna: "+c);}}}}}}
No seu código a declaração da matriz não está certa, portanto seu código não irá compilar. Na linha 22 do seu código a declaração da matriz deve ser assim:
int[][]matM=newint[2][2];
Dica 1 - Não posso percorrer os caminhos da pedra por você, pois isso atrapalharia o seu aprendizado. Mas posso te indicar que a atribuição dos valores da matriz no seu código não estão corretos. Pesquise no google como obter e atribuir uma valor à matriz.
Dica 2 - A escrita da localização da escrita da linha e coluna do maior valor da matriz deve ficar fora do “for” (linha 25). Porque, se o primeiro valor da matriz (Linha =0 e coluna = 0) for o maior, o programa não vai escrever a linha e coluna (nunca vai passar na linha 42).
J
JorgeC
Minha dúvida é saber como localizo a posição do maior valor da matriz.
A
alcidesflach
Olá JorgeC,
A lógica do primeiro código que você postou está correta. Precisa apenas fazer as correções que eu te indiquei na msg anterior.
Para encontrar o maior valor da matriz você deve:
Percorrer todos os valores da matriz. (Linha 25 e 27)
Pegar o primeiro valor da matriz e assumir como maior. (Linha 32)
Testar para cada valor se existe um valor maior e caso exista assumir essa valor como maior. (Linha 38 )
Falta salvar o número da linha e coluna do maior valor.
Falta exibir o número da linha e coluna após percorrer todos os valor possíveis da matriz.
Para iniciantes eu recomendo compilar o código após cada linha de código inserido. Isso ajuda a identificar erros mais rápido.
J
JorgeC
A parte 4 eu nao sei fazer sei achar o maior valor, mas não a localização (linha e coluna) do maior valor.
J
JorgeC
Vou arrumar o código…
J
JorgeC
Obrigado consegui, alcidesflach. Eu fiz o que você falou "Dica 2 - A escrita da localização da escrita da linha e coluna do maior valor da matriz deve ficar fora do “for” (linha 25). Porque, se o primeiro valor da matriz (Linha =0 e coluna = 0) for o maior, o programa não vai escrever a linha e coluna (nunca vai passar na linha 42). "
E dentro de if (matM[l][c] > maior) coloquei linha = l;
coluna = c; e declarei int linha = 0, coluna = 0;.