Escreva a localização (linha e coluna) do maior valor de uma matriz de 2 x 2

Alguém sabe como deve ficar o códio, tentei e ficou assim (usando o scanner):

[code]
/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */
    package javaapplication2;

import java.util.Scanner;

/**
*

  • @author Aluno
    */
    public class Exercicio02 {

    /**

    • @param args the command line arguments
      */
      public static void main(String[] args) {
      // TODO code application logic here
      Scanner sc = new Scanner(System.in);

       int[,] matM = new int[2,2];
       int maior = 0;
      
       for(int l=0; l<2; l++)
       {
           for (int c=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);
                   }
               }
           }
       }
      

    }
    }[/code]

Tentou compilar seu código? Ele nem compila…

Oi, eu comecei a programar em java agora e não sei o que é compilar. Para fazer esse código acima usei o programa NetBeans IDE 8.0.2.

Olá JorgeC,

Para aprender a compilar no Netbeans você pode seguir esse tutorial:
https://netbeans.org/kb/docs/java/quickstart_pt_BR.html

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 = new int[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).

Minha dúvida é saber como localizo a posição do maior valor da matriz.

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:

  1. Percorrer todos os valores da matriz. (Linha 25 e 27)
  2. Pegar o primeiro valor da matriz e assumir como maior. (Linha 32)
  3. Testar para cada valor se existe um valor maior e caso exista assumir essa valor como maior. (Linha 38 )
  4. Falta salvar o número da linha e coluna do maior valor.
  5. 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.

A parte 4 eu nao sei fazer sei achar o maior valor, mas não a localização (linha e coluna) do maior valor.

Vou arrumar o código…

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;.

Obrigado!!!