Matriz numero procurado

7 respostas
R
public class ElementoProcurado
{
	public int procuraElemento(int mat[][], int procurado)
	{
		for (int i = 0; i <= mat.length; i++)
		{
			for (int j = 0; j <= mat.length; j++)
			{
				if (mat[i][j] == procurado)
				{
					return i;
				}
			}
		}
		
		return -1;
	}
}
Class main 
import javax.swing.*;

public class Ex39
{
	public static void main(String args[])
	{
	   int nLinhas, nColunas;
      int matriz[][];
		String aux; 
		
		aux = JOptionPane.showInputDialog(null, "Quantas linhas?", "Matriz", JOptionPane.QUESTION_MESSAGE);
		nLinhas = Integer.parseInt(aux);
		
		aux = JOptionPane.showInputDialog(null, "Quantas colunas?", "Matriz", JOptionPane.QUESTION_MESSAGE);
		nColunas = Integer.parseInt(aux);
		
		matriz = new int[nLinhas][nColunas];
		
		for (int l = 0; l < matriz.length; l++)
		{
			for (int c = 0; c < matriz[0].length; c++)
			{
				aux = JOptionPane.showInputDialog(null, "Qual o elemento da Linha " + (l+1) + " e coluna " + (c+1), "Matriz", JOptionPane.QUESTION_MESSAGE);
				matriz[l][c] = Integer.parseInt(aux); 
			}
		}
		
		JOptionPane.showMessageDialog(null, "O numero procurado é " + ElementoProcurado.procuraElemento(matriz), JOptionPane.INFORMATION_MESSAGE);
		
	}
}

método que vasculhe uma matriz em busca de um número
procurado. O retorno, caso ele seja encontrado, será a linha da matriz em que ele se encontra; caso ele não exista na matriz, o valor retornado será -1.

7 Respostas

R

a onde estou errandoo?

ViniGodoy

No seu segundo for.

O correto é fazer assim:

public int procuraElemento(int mat[][], int procurado)  {  
   for (int i = 0; i <= mat.length; i++)  {  
      for (int j = 0; j <= mat[i].length; j++)  {  
         if (mat[i][j] == procurado)  {  
            return i;  
         }  
      }  
   }  
          
   return -1;  
}

Caso contrário, você sempre estará assumindo que a matriz é quadrada.

R

e no metodo main ?

gpd38

O main esta correto

ViniGodoy

No método procurarElemento, da primeira classe que você postou, conforme escrevi no meu post…

R

JOptionPane.showMessageDialog(null, "O numero procurado é " + ElementoProcurado.procuraElemento(matriz), JOptionPane.INFORMATION_MESSAGE);

da erro nessa linhaa --"

ViniGodoy

Deixe o seu método procuraElemento com o modificador static:

public static int procuraElemento(int mat[][], int procurado)  {

Ou mude a linha para:

JOptionPane.showMessageDialog(null, "O numero procurado é " + new ElementoProcurado().procuraElemento(matriz), JOptionPane.INFORMATION_MESSAGE);
Criado 20 de novembro de 2008
Ultima resposta 21 de nov. de 2008
Respostas 7
Participantes 3