Estou tentando resolver esse problema que é escrever um programa que receba uma matriz de bits {0,1}
representando uma imagem e uma outra matriz de bits qualquer. Basicamente o programa deve identificar se a segunda matriz está contida na primeira. Segue meu código até o momento:
public class MatrizAtividade {
public static void main(String[] args) {
// Instanciando a 1ª matriz 3 x 4
int matA[][] = new int[3][4];
matA[0][0] = 0;
matA[0][1] = 1;
matA[0][2] = 1;
matA[0][3] = 1;
matA[1][0] = 0;
matA[1][1] = 0;
matA[1][2] = 1;
matA[1][3] = 0;
matA[2][0] = 1;
matA[2][1] = 1;
matA[2][2] = 1;
matA[2][3] = 0;
// Instanciando a 2ª matriz 2 x 2
int matB[][] = new int[2][3];
matB[0][0] = 0;
matB[0][1] = 0;
matB[0][2] = 1;
matB[1][0] = 1;
matB[1][1] = 1;
matB[1][2] = 0;
System.out.println("Matriz A:");
// Esse 1º FOR varre as linhas da Matriz A
for (int i = 0; i < matA.length; i++) {
// Esse 2º FOR varre as colunas da Matriz A
for (int j = 0; j < matA[i].length; j++) {
System.out.print(matA[i][j] + " | ");
}
System.out.println();
}
System.out.println("Matriz B:");
// Esse 1º FOR varre as linhas da Matriz B
for (int i = 0; i < matB.length; i++) {
// Esse 2º FOR varre as colunas da Matriz B
for (int j = 0; j < matB[i].length; j++) {
System.out.print(matB[i][j] + " | ");
}
System.out.println();
}
System.out.println("Resultado:");
for (int i = 0; i < matA.length; i++) {
for (int j = 0; j < matA[i].length; j++)
if (matA[i][j] == matB[i][j]) {
System.out.println(matB[i][j] + " | ");
}
}
}
}
A saída tá sendo essa:
Matriz A:
0 | 1 | 1 | 1 |
0 | 0 | 1 | 0 |
1 | 1 | 1 | 0 |
Matriz B:
0 | 0 | 1 |
1 | 1 | 0 |
Resultado:
0 |
1 |
Então, onde tá meu erro? sou iniciante, estou aprendendo ainda a sintaxe da linguagem.
