Boa tarde, estou tentando fazer um script onde eu gero 2 matrizes , uma matriz com números random de 0 e 1, e eu gero outra matriz B onde tenho uma matriz 3x3, e quero encontrar essa matriz dentro da matriz A. Consiguir gerar as duas só que não consigo procurar dentro da matriz A. Alguem pode ajudar?
package atividadep3;
import java.util.Random;
import java.util.Scanner;
public class ex1 {
Random rand = new Random();
static int i,l,c,j,count=0,larguraMenor,larguraMaior;
static int matrizA[][],matrizB[][];
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Matriz de: (Escreva apenas 1,2,3,4.... Ex: Caso digitou 1, ela será 1x1)");
l = scan.nextInt();
c = l;
matrizA = new int[l][c];
System.out.println("Matriz Principal");
for(l=0 ; l < matrizA.length; l++)
{
System.out.println("\n");
for(c=0 ; c < matrizA.length; c++)
{
int numero = (int) (Math.random() * 2);
matrizA[l][c] = numero;
System.out.print(matrizA[l][c] + "|");
}
}
System.out.println("\n\n");
System.out.println("Matriz Referencia");
matrizB = new int[3][3];
int[][] matrizB = {
{ 0, 1, 0 },
{ 1, 1, 1 },
{ 0, 1, 0 }
};
for(l=0; l < matrizB.length; l++)
{
System.out.println("\n");
for(c=0; c < matrizB.length; c++)
{
System.out.print(matrizB[l][c] + "|");
}
}
System.out.println("\n\n");
//Procurar posicoes iguais
//Tamanho das Matrizes
int alturaMenor = matrizB.length;
int alturaMaior = matrizA.length;
if (alturaMenor == 0)
{
larguraMenor = 0;
}
else
{
larguraMenor = matrizB[0].length;
}
for (int a = 0; a <= alturaMaior - alturaMenor; a++)
{
r: for (int b = 0; b <= larguraMaior - larguraMenor; b++) {
for (int c = 0; c < alturaMenor; c++) {
for (int d = 0; d < larguraMenor; d++) {
if (matrizA[a + c][b + d] != matrizB[c][d]) continue r;
}
}
}
}
}
}