FabioElvis Postado Fevereiro 11, 2008 Denunciar Share Postado Fevereiro 11, 2008 Boa tarde galera.Sou totalmente cru em C, e tenho um exercicio para resolver, mas não manjo muito de pilha ou fila.O problema é sobre 15-puzzle, tenho uma entrada e uma saida.Se alguém puder me dar uma idéia de como começar o código, eu agradeço.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Fevereiro 11, 2008 Denunciar Share Postado Fevereiro 11, 2008 Boa tarde galera.Sou totalmente cru em C, e tenho um exercicio para resolver, mas não manjo muito de pilha ou fila.O problema é sobre 15-puzzle, tenho uma entrada e uma saida.Se alguém puder me dar uma idéia de como começar o código, eu agradeço..Oi, 'FabioElvis'!Conta a história direito. Explique o exercício. Com base nisso te ensinarei o conceito e como desenvolver o algorítimo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 FabioElvis Postado Fevereiro 19, 2008 Autor Denunciar Share Postado Fevereiro 19, 2008 Boa tarde galera.Sou totalmente cru em C, e tenho um exercicio para resolver, mas não manjo muito de pilha ou fila.O problema é sobre 15-puzzle, tenho uma entrada e uma saida.Se alguém puder me dar uma idéia de como começar o código, eu agradeço..Oi, 'FabioElvis'!Conta a história direito. Explique o exercício. Com base nisso te ensinarei o conceito e como desenvolver o algorítimo.Boa tarde Denis, é o seguinte tenho uma entrada 2, 1, 3, 4, 12, 13, 14, 5, 11, 0, 15, 6, 10, 9, 8, 7 e um vetor bi-dimensional int vetor [4][4], consegui a primeira parte do codigo declarar o vetor e imprimi-lo, agora preciso começar a movimentar o zero, mas estou bem perdido nisso. Se puder me ajudar eu agradeço.Ai vai o começo do codigo nem sei se esta certo, mas a principio para imprimir a matriz esta valendo.Abraço# include <stdio.h>/*Imprimindo a Matriz Inicial*/int main() { int puzzle[4][4] = {{2,3,4,0}, {1,5,7,8}, {9,6,10,12}, {13,14,11,15}}; int i; /*Linha*/ int j; /*Coluna*/ for(i = 0; i < 4; i++) for(j = 0; j < 4; j++) printf("Linha: [%d] Coluna: [%d] = %d\n", i, j, puzzle[j]); return(0);} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kandrade Postado Fevereiro 28, 2008 Denunciar Share Postado Fevereiro 28, 2008 Para movimentar voce precisa de regras.Todas as regras são em relação ao posicionamento de 0, são elas:Se coluna = 3 não haverá movimento para direita.Se coluna = 0 não haverá movimento para esquerda.Se linha = 0 não haverá movimento para cima.Se linha = 3 não haverá movimento para baixo.Para movimentar é pura matemática:- Ache o posicionamento de 0.- Entre com o movimento.- Teste se o movimento é possível de acordo com as regras acima.- Se possível faça a troca com o elemento correspondente.Um exemplo de movimento para esquerda depois de validado:if (movimento == 1){ // supondo que 1 identifique movimento para esquerda puzzle[linha][coluna] = puzzle[linha][coluna - 1]; puzzle[linha][coluna - 1] = 0; } Pronto, efetuada a troca. Outro exemplo para baixo agora: if (movimento == 2){ // supondo que 2 identifique movimento para baixo puzzle[linha][coluna] = puzzle[linha - 1][coluna]; puzzle[linha - 1][coluna] = 0; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Luis Fernando -- Postado Março 27, 2008 Denunciar Share Postado Março 27, 2008 Exercicio de C Os elementos aij de uma matriz inteira Anxn representam os custos de transporte da cidade i para a cidade j. Dados x itinerários, cada um com k cidades, calcular o custo total para cada itinerário. Exemplo:| 5 7 3 8 ||9 4 6 2 ||3 1 5 200 || 6 2 9 4 |O custo do itinerário 0 2 3 2 1 0 é:a02 + a23 + a32 + a21 + a10 = 3 + 200 + 9 + 1 + 9 =222Observação: A inicialização dos elementos da matriz poderá ser realizada a partir da digitação do usuário ou de forma aleatória. Eu gostaria de saber se alguém pode me ajudar a fazer issoestouu perdido num sei nem como começarobrigadoo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest demo Postado Março 28, 2008 Denunciar Share Postado Março 28, 2008 Exercicio de C Os elementos aij de uma matriz inteira Anxn representam os custos de transporte da cidade i para a cidade j. Dados x itinerários, cada um com k cidades, calcular o custo total para cada itinerário. Exemplo:| 5 7 3 8 ||9 4 6 2 ||3 1 5 200 || 6 2 9 4 |O custo do itinerário 0 2 3 2 1 0 é:a02 + a23 + a32 + a21 + a10 = 3 + 200 + 9 + 1 + 9 =222Observação: A inicialização dos elementos da matriz poderá ser realizada a partir da digitação do usuário ou de forma aleatória. Eu gostaria de saber se alguém pode me ajudar a fazer issoestouu perdido num sei nem como começarobrigadoo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Noemi Postado Março 30, 2008 Denunciar Share Postado Março 30, 2008 Exercicio de C Os elementos aij de uma matriz inteira Anxn representam os custos de transporte da cidade i para a cidade j. Dados x itinerários, cada um com k cidades, calcular o custo total para cada itinerário. Exemplo:| 5 7 3 8 ||9 4 6 2 ||3 1 5 200 || 6 2 9 4 |O custo do itinerário 0 2 3 2 1 0 é:a02 + a23 + a32 + a21 + a10 = 3 + 200 + 9 + 1 + 9 =222Observação: A inicialização dos elementos da matriz poderá ser realizada a partir da digitação do usuário ou de forma aleatória. Eu gostaria de saber se alguém pode me ajudar a fazer issoestouu perdido num sei nem como começarobrigadoo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --sandra -- Postado Março 30, 2008 Denunciar Share Postado Março 30, 2008 Exercicio de C Os elementos aij de uma matriz inteira Anxn representam os custos de transporte da cidade i para a cidade j. Dados x itinerários, cada um com k cidades, calcular o custo total para cada itinerário. Exemplo:| 5 7 3 8 ||9 4 6 2 ||3 1 5 200 || 6 2 9 4 |O custo do itinerário 0 2 3 2 1 0 é:a02 + a23 + a32 + a21 + a10 = 3 + 200 + 9 + 1 + 9 =222Observação: A inicialização dos elementos da matriz poderá ser realizada a partir da digitação do usuário ou de forma aleatória. Eu gostaria de saber se alguém pode me ajudar a fazer issoestouu perdido num sei nem como começarobrigadoo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Visitante Postado Março 30, 2008 Denunciar Share Postado Março 30, 2008 Exercicio de C Os elementos aij de uma matriz inteira Anxn representam os custos de transporte da cidade i para a cidade j. Dados x itinerários, cada um com k cidades, calcular o custo total para cada itinerário. Exemplo:| 5 7 3 8 ||9 4 6 2 ||3 1 5 200 || 6 2 9 4 |O custo do itinerário 0 2 3 2 1 0 é:a02 + a23 + a32 + a21 + a10 = 3 + 200 + 9 + 1 + 9 =222Observação: A inicialização dos elementos da matriz poderá ser realizada a partir da digitação do usuário ou de forma aleatória. Eu gostaria de saber se alguém pode me ajudar a fazer issoestouu perdido num sei nem como começarobrigadoo Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
FabioElvis
Boa tarde galera.
Sou totalmente cru em C, e tenho um exercicio para resolver, mas não manjo muito de pilha ou fila.
O problema é sobre 15-puzzle, tenho uma entrada e uma saida.
Se alguém puder me dar uma idéia de como começar o código, eu agradeço..
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.