Imprimir a posição da matriz

2 respostas
E

Pessoal, qro imprimir a posição em q se encontra o maior numero dentro da matriz, mas nao consegui...
Ele está imprimindo a ultima posição da matriz (4X4).

public void maiorValor(){
		int valorMaior=0;
		
		for(x=0;x<4;x++){
			for(y=0;y<4;y++){
				if(valorMaior<matriz[x][y]){
					valorMaior=matriz[x][y];
				}
			}
		}
		System.out.println("O maior valor é: " + valorMaior);
		System.out.println("Está na linha " + x + " coluna " + y);
		System.out.println();
	}

Como faço isso ???

Valeu pela atençao !!

2 Respostas

Naum_Jefferson
Ec512:

Pessoal, qro imprimir a posição em q se encontra o maior numero dentro da matriz, mas nao consegui...
Ele está imprimindo a ultima posição da matriz (4X4).

public void maiorValor(){
		int valorMaior=0;
		
		for(x=0;x<4;x++){
			for(y=0;y<4;y++){
				if(valorMaior<matriz[x][y]){
					valorMaior=matriz[x][y];
				}
			}
		}
		System.out.println("O maior valor é: " + valorMaior);
		System.out.println("Está na linha " + x + " coluna " + y);
		System.out.println();
	}

Como faço isso ???

Valeu pela atençao !!

O que estar acontecendo é que no "for" o seu X e o seu Y vai ser de 0 até 3, e como você so guardou o maior valor, quando termina o laço o X e o Y é 4, ai sempre que vc mandar imprimir vai ser linha 4 coluna 4;

a forma correta seria:

public void maiorValor(){
		int valorMaior=0;
		int linha=0, coluna=0;
		for(x=0;x<4;x++){
			for(y=0;y<4;y++){
				if(valorMaior<matriz[x][y]){
					valorMaior=matriz[x][y];
                    linha = x;
                    coluna = y;
				}
			}
		}
		System.out.println("O maior valor é: " + valorMaior);
		System.out.println("Está na linha " + linha + " coluna " + coluna);
		System.out.println();
}
E

Putz !!! Q simples !!! :?

Valeu, Naum Jefferson !!!

Criado 15 de dezembro de 2009
Ultima resposta 16 de dez. de 2009
Respostas 2
Participantes 2