Ir ao conteúdo
  • Cadastre-se

AlanMarcel123

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. Boa noite, gostaria de que alguém olhasse meu código e me falasse o que está errado, já tentei de várias maneiras e ele não dá os resultados certos. Enunciado do problema: Uma imagem em preto e branco, de tamanho m x n, pode ser representada por uma matriz cujos elementos assumem valores no conjunto {0,1}. Dado um padrão representado por uma matriz 3x3 também assumindo valores em {0,1}, escreva um programa que determine se o padrão existe ou não na imagem. Matriz exemplo: 0 0 1 0 0 0 0 1 0 0 1 1 1 1 1 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 1 1 1 0 0 1 1 1 0 Matriz padrão: 0 1 0 1 1 1 0 1 0 package javaapplication27; import java.util.Scanner; public class JavaApplication27 { public static void main(String[] args) { Scanner dd = new Scanner(System.in); int M; int N; int igual = 0; System.out.println("Informe o tamanho da matriz (X,Y)"); M = dd.nextInt(); N = dd.nextInt(); int matriz[][] = new int[M][N]; System.out.println("Insira a matriz:"); for (int entrada1 = 0; entrada1 < matriz.length; entrada1++) { for (int entrada2 = 0; entrada2 < matriz[entrada1].length; entrada2++) { matriz[entrada1][entrada2] = dd.nextInt(); } } int padrão[][] = new int[3][3]; System.out.println("Insira a matriz de consulta:"); for (int entrada11 = 0; entrada11 < padrão.length; entrada11++) { for (int entrada22 = 0; entrada22 < padrão[entrada11].length; entrada22++) { padrão[entrada11][entrada22] = dd.nextInt(); } } for (int teste1 = 0; teste1 < matriz.length-2; teste1++) { //coloquei menos 2 para ele não ultrapassar a matriz for (int teste2 = 0; teste2 < matriz[teste1].length-2; teste2++) { // mesma coisa vale if ((matriz[teste1][teste2] == padrão[0][0]) && (matriz[teste1][teste2 + 1] == padrão[0][1]) && (matriz[teste1][teste2 + 2] == padrão[0][2]) && (matriz[teste1 + 1][teste2] == padrão[0][0]) && (matriz[teste1 + 1][teste2 + 1] == padrão[1][1]) && (matriz[teste1 + 1][teste2 + 2] == padrão[2][2]) && (matriz[teste1 + 2][teste2] == padrão[0][0]) && (matriz[teste1 + 2][teste2 + 1] == padrão[1][1]) && (matriz[teste1 + 2][teste2 + 2] == padrão[2][2])) { igual++; } } } if (igual > 0) { System.out.println("Existe padrão!" + igual); } else { System.out.println("Não existe padrão!" + igual); } } } No caso era pra mostrar que existe 1 padrão, mas no programa mostra que não existe padrão, por isso gostaria que alguém revisasse meu código e olhasse o erro. Agradeceria muito!

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...