Enfim, o EP mais discutido, onde os alunos tiveram mais dificuldades e erros!
O programa foi testado matematicamente, ou seja, era exijido a manipulação com matrizes, etc...
os dados utilizados foram matrizes, não imagens!
Verifique se o seu programa só funciona para matrizes quadradas. No enunciado tinha um exemplo de matriz não-quadrada (4x5):
P2
5 4
16
9 4 5 0 8
10 3 2 1 7
9 1 6 3 15
1 16 9 12 7
Verifique se o seu programa só funciona para vizinhança quadrada (no enunciado p e q são números naturais ímpares {1,3,5,7,9,11,...}, um representa coluna e outro representa linhas, logo são números distintos, se fosse necessariamente quadrado seria necessário apenas um dos parâmetros e não os dois - p e q)
Verifique se não confundiu linhas com colunas ao ler ou imprimir uma matriz. No arquivo os parâmetros p e q são colunas e linhas respectivamente. Em C utilizamos [a][b], linhas e colunas respectivamente.
Verifique se você consegue ler comentários. Se testarem o xemplo abaixo descrito no enunciado já podem verificar alguns erros:
P2
# imagem: exemplo.pgm
5 4
16
9 4 5 0 8
10 3 2 1 7
9 1 6 3 15
1 16 9 12 7
Como em todos os Ep´s anteriores, os dados de entrada nos exemplos não garantem um programa correto, e nem são capazes de mostrar todos os erros. Acredito que as imagens postadas para exemplos sejam todas quadradas, por isso uma impressão de que o programa funciona bem.
Outros erros serão comentados caso a caso, juntamente com a nota.