Boa noite, sou estudante de ADS e estou com dúvida em relação a retornar a posição de um elemento na matriz
A pergunta “c. Um método que receba como parâmetro um determinado valor e retorne o índice da(s) linha(s) e coluna(s) onde o elemento foi encontrado na matriz.”
Fiz o seguinte código
public int contarValor(int numero){
int cont=0;
for(int linhas=0;linhas<matriz.length;linhas++){
for(int colunas=0;colunas<matriz[linhas].length;colunas++){
if(matriz[linhas][colunas]== numero){
cont++;
}
}
}
return cont;
}
public int[][] returnPos(int numero){
int[][]valor=new int[contarValor(numero)][contarValor(numero)];
int aux=0;
int aux2=0;
for(int linhas=0;linhas<matriz.length;linhas++){
for(int colunas=0;colunas<matriz[linhas].length;colunas++){
if(matriz[linhas][colunas]==numero){
valor[aux][aux2]=colunas;
valor[aux][aux2]=linhas;
aux++;
aux2++;
}
}
}
return valor;
}
para procurar usando o jframe coloquei essa função no botão
int numero = Integer.parseInt(JOptionPane.showInputDialog(null,“Qual número deseja procurar?”));
String resultado="";
for(int i=0;i<construtor.returnPos(numero).length;i++){//linha
for(int k=0;k<construtor.returnPos(numero).length;k++){//colunas
resultado=resultado+construtor.returnPos(numero)[i][k]+"\t";
}
}
jTAResultado.setText(construtor.dados()+"\nIndices iguais ao valor inseiro: " + resultado);
Gerei aleatoriamente uma matriz rodando o sistema 4x5
3 7 5 4 4
6 3 0 4 6
0 2 1 4 8
1 5 0 4 7
E pedi parar procurar o número 4, pelo que entendi do problema era pra retornar o número 4 na linha 0 e coluna 3 , linha 0 linha 4 e assim por diante.
mas retornou isso:
"Indices iguais ao valor inseiro: 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 2 0 0 0 0 0 3 "
Alguma solução?
