Olá pessoal, Estou com muito dificuldade de finalizar essas questões, o foda de tudo que seria em grupo e eu por não conhecer ninguém estou batendo cabeça sozinho e to errando bastante para finalizar as ultimas questões, quem puder eu agradeço de coração!
Alguns algoritmos para reconhecimento ótico de caracteres compara a imagem “scanneada” com modelos
de caracteres perfeitos. Parte da dificuldade com tais comparações é decidir onde começar a comparação.
Isto se deve ao fato de que as imagens “scanneadas” estão sujeitas a distorções, resultando em mudanças
no tamanho, posição e orientação. Um procedimento que algumas vezes é utilizada para lidar com essas
mudanças na posição é “casar” o centro de gravidade do caractere “scanneado” com centro de gravidade
do modelo com o qual ele é comparado. Neste problema você determinará os centros de gravidades das
imagens dos caracteres “scanneados”.
Para os nossos propósitos, um caractere “scanneada” será uma matriz retangular de números reais com
valores em uma escala de cinza. A escala de cinza tem valores entre 0 (representando uma região
totalmente branca) e 1 (representando uma região totalmente preta).
O centro de gravidade é um elemento particular de uma matriz. Suponha um centro de gravidade na iésima linha e j-ésima coluna. Então a diferença entre a soma dos elementos das duas porções da matriz
acima e abaixo da i-ésima linha é mínima. Do mesmo modo, a diferença entre a soma dos elementos das
duas porções a esquerda e direita da j-ésima coluna é mínima.
Como exemplo, considere que a matriz abaixo representa o caractere “o” “scanneado”. O centro de
gravidade desta matriz está singularmente na 3º linha, e 3º coluna, pois a diferença entre a soma dos
elementos em cada porção da matriz informada, ignorando a terceira linha é 0,1 (as somas das porções
abaixo e acima são 5,55 e 5,65, respectivamente). A diferença entre a soma de cada porção da matriz
formada ignorando a terceira coluna é 0,0 (a soma de ambas porções é 5,60).
0.7 0.75 0.7 0.75 0.8
0.55 0.3 0.2 0.1 0.7
0.8 0.1 0.0 0.0 0.8
0.7 0.0 0.0 0.0 0.8
0.8 0.9 0.8 0.75 0.9
Entrada
A entrada do seu programa deve ser realizada a partir de um arquivo texto com seguinte formato: No início
do arquivo teremos dois inteiros especificando a quantidade de linhas e colunas de uma matriz retangular,
em seguida os valores em ponto flutuante (de 0 até 1 com precisão de uma casa decimal) representando a
escala de cinza do caractere “scanneado”. Além disso, considere que a matriz sempre terá no mínimo 3
linhas e 3 colunas.
Exemplos de entrada
5 5
0.1 0.2 0.1 0.2 0.1
0.1 0.2 0.3 0.1 0.1
0.2 0.3 0.1 0.1 0.3
0.4 0.1 0.1 0.1 0.2
0.2 0.2 0.3 0.3 0.1
5 10
0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1
0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2
0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3
0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5
Saída
Para cada caractere deverá mostrar na tela a linha e a coluna correspondente ao centro de gravidade. Se
houver mais de um centro de gravidade, apresente somente o primeiro encontrado.
Exemplo de saída
caso 1: Centro ( 3, 3 )
caso 2: Centro ( 4, 5 )

