PASSEIO CAVALO IMPLEMENTANDO PILHA
DOCUMENTAÇÃO
ALUNO: THIAGO BRAGIONI
MATRICULA: 2014034901
PASSEIO DO CAVALO
O passeio do cavalo é um clássico da matemática, sendo constantemente usado para desafiar a habilidade de estudantes e programadores mundo afora. O problema original consiste em descobrir um caminho para que o cavalo, peça de xadrez, consiga visitar todas as casas de um tabuleiro comum (8x8), sem que pise na mesma casa mais de uma vez. O programa descrito na presente documentação busca a solução para o passeio do cavalo, porém o tamanho do tabuleiro é determinado pelo usuário do programa, e não um tabuleiro fixo de tamanho 8x8.
IMPLEMENTAÇÃO:
No escopo global do programa foram iniciados os contadores i e j do tipo int, com a finalidade de usá-los futuramente em laços for. Também foram iniciados os vetores posicaoi[8] e posicaoj[8] que representam o movimento em L feito pelo cavalo.
IMPLEMENTAÇÃO DA PILHA:
Foi implementada uma estrutura de pilha usando apontadores. typedef int TipoChave;
Para fins do programa, o TipoChave representa um tipo inteiro. typedef struct{
TipoChave x;
TipoChave y;
TipoChave indice; } TipoItem;
UNIVERSIDADE FEDERAL DE MINAS GERAIS
O TipoItem contém os dados da pilha. Os dados x e y representarão as coordenadas do tabuleiro e o dado índice representa qual movimento foi feito para se chegar a tais coordenadas. typedef struct TipoCelula *TipoApontador;
Define-se então um dado do tipo apontador typedef struct TipoCelula{
TipoItem Item;
TipoApontador Prox; }Celula;
Define uma célula da pilha, que contém os dados TipoItem e um apontador para a próxima célula, fazendo assim o encadeamento da pilha.
Typedef struct{
TipoApontador fundo, topo; int tamanho;} TipoPilha;
O TipoPilha contem dois apontadores que indicam o início e o fim da pilha, além de um contador tipo int para armazenar o tamanho da pilha.
Além das funções básicas para manipulação de Estruturas de pilhas usando apontadores
void FPVazia(TipoPilha *Pilha);
int