Galera boa tarde!
Preciso da ajuda de vocês nesse algoritmo.
Tenho que criar uma matriz de 500 linhas e 50 colunas que deve ser preenchida com numeros do tipo inteiors sorteado aleatoriamente utilizando a classe Randon. Onde ele tera que fazer uma busca binaria de um numero sorteado e que indique a quantidade de numeros iguais a este presentes na matriz.
Já consegui criar a matriz e preenche-la, mas estou com dificuldade com a busca binaria em matriz.
Desde de ja agradeço a ajuda!
import java.util.Random;
public class Busca_Binario_Matriz {
static int matBin [][] = new int [500][50];
static Random r = new Random();
static int sort;
//---------------------------------------------------
public static boolean b(int x, int numeros[][]){
int inicio=0;
int fim=numeros.length-1;
int meio;
while (inicio<=fim){
meio=(inicio+fim)/2;
if (x == numeros[meio][meio]){
return true;
}
else{
if (x<numeros[meio][meio]){
fim=meio-1;
}
else{
inicio=meio+1;
}
}
}
return false;
}
//----------------------------------
public static void main(String[] args) {
for(int i = 0; i >< 500; i++){
for(int j = 0; j < 50; j++){
matBin[i][j] = (r.nextInt(9999)+1);
}
}
sort = (r.nextInt(9999)+1);
for(int i = 0; i < 500; i++){
for(int j = 0; j < 50; j++){
Busca_Binario_Matriz b1=new Busca_Binario_Matriz();
b(sort, matBin);
//System.out.println("linha - "+ (i + 1) + " - Coluna - " + (j + 1) +" - " + matBin [i][j]);
}
}
System.out.println( "Numero Sorteado pelo Metodo Rando foi: "+sort);
System.out.println( "Quantidade de numeros iguais: ");
}
}