Atividade: Algoritmo e Programação em C/C++
Professor: Anderson da Cruz
Instruções para envio do exercício
Enviar os exercícios para o e-mail [email protected]
O assunto do e-mail deve ser exatamente este: exercicio_turma_0002
O corpo do e-mail deve conter: nome completo, curso, TRABALHO GA – OPCAO 1 e um diretório
compactado com todos os fontes desenvolvidos.
Descrição do Trabalho – Opção 1
Sudoku é um quebra-cabeça baseado na colocação lógica de números. O objetivo do jogo é a
distribuição de números entre 1 a 9 em cada uma das células vazias em uma matriz de 9×9,
constituída por 9 matrizes de 3×3, chamadas regiões. O quebra-cabeça contém algumas pistas
iniciais, que são números inseridos em algumas células, de maneira para permitir uma indução ou
dedução dos números em células que estejam vazias. Cada coluna, linha e região só pode ter um
número de cada um dos 1 a 9. Resolver o problema requer apenas raciocínio lógico e algum tempo.
Sendo estas as regras, implemente o jogo em C, sendo obrigatório a presença das seguintes
etapas:
1. Iniciar o jogo: nesta etapa serão informados os valores iniciais do jogo, para que o jogador inicie a
partida a partir destes dados. É importante que os valores iniciais determinados nesta etapa não
sejam alterados na próxima etapa.
2. Iniciar a partida: ao iniciar a partida, o jogador terá as seguintes opções no programa:
1. Realizar jogada: nesta opção o jogador irá informar a posição e o valor que ele deseja colocar
no tabuleiro. A jogada deve ser informada OBRIGATORIAMENTE no seguinte formado x:y v, onde x
é a coordenada no eixo X do tabuleiro, y a coordenada no eixo Y e v o valor que será atribuído na
posição x:y.
2. Mostrar tabuleiro: nesta opção, o programa deve imprimir na tela o situação atual da partida.
3. Validar o tabuleiro: nesta opção deve ser validado se o tabuleiro está válido, ou seja, se possui
apenas um número por linha, coluna e região. Se todas as posições estiverem preenchidas e o
tabuleiro estiver válido, deve-se então avisar o jogador que ele venceu. Se alguma posição estiver
em aberto, o programa deve apenas informar se o tabuleiro está válido ou não.
Download

Algoritmo e Programação em C/C++ Professor: Anderson