Trabalho
ALGORÍTMOS E ESTRUTURAS DE DADOS I
TRABALHO PRÁTICO I – SUDOKU
MATEUS CONDE VIEIRA PARREIRAS
RENATO CHAVES ALZAMORA
VICTOR DEMÉTRIUS PEREIRA COTTA
BELO HORIZONTE
2013
I – Introdução
O sudoku é um jogo bem popular entre adultos e jovens. O objetivo do mesmo é completar um quadro, que possui dimensões 9x9, com valores de zero a nove. O jogador recebe um quadro preenchido parcialmente, de forma que ele tenha somente uma solução para a colocação dos números faltantes. Na disciplina “Algoritmos e
Estruturas de Dados I, foi proposto um Trabalho Prático, no qual deveríamos criar um programa que verificasse se um determinado jogo de sudoku está correto.
II – Implementação
O programa sudoku.c irá receber nove linhas, com nove números por linha, que será a solução a ser verificada através da função “verificar”. O mecanismo é simples e funciona através de laços “for” que percorrem linhas e colunas em sequência, fazendo com que o “IF” verifique a existência dos algarismos de 1 a 9 na matriz do sudoku - previamente digitada pelo usuário - e possíveis repetições, o que acarreta em um jogo que não atende às regras.
O programa foi comentado de forma a não gerar dúvidas no seu funcionamento, por ser um algoritmo simples de ser implementado.
Para verificar se cada “quadrado” do sudoku atende às regras, foram criadas as variáveis m e n, que são usadas para implementar um laço for que testa a matriz da linha acrescida da variável m e coluna acrescida da variável n.
Na função main (principal) é responsável por imprimir na tela, através de printf, se a solução do sudoku atende ou não às regras.
Isso é feito através do valor retornado pela função “verificar”. Caso seja 1, a solução está correta. Caso seja 0, incorreta.
Conforme solicitado, para obter pontos extras no trabalho prático, seria necessário criar um programa desafio, que será avaliado como ponto extra (5 pontos extras), e visa o
desenvolvimento