Ir para conteúdo
Fórum Script Brasil
  • 0

Dificuldades para criar código


FabioElvis

Pergunta

8 respostass a esta questão

Posts Recomendados

  • 0
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.

Link para o comentário
Compartilhar em outros sites

  • 0
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);

}

Link para o comentário
Compartilhar em outros sites

  • 0

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;
}

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Luis Fernando --

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 =222

Observaçã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 isso

estouu perdido num sei nem como começar

obrigadoo

Link para o comentário
Compartilhar em outros sites

  • 0
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 =222

Observaçã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 isso

estouu perdido num sei nem como começar

obrigadoo

Link para o comentário
Compartilhar em outros sites

  • 0
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 =222

Observaçã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 isso

estouu perdido num sei nem como começar

obrigadoo

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --sandra --
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 =222

Observaçã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 isso

estouu perdido num sei nem como começar

obrigadoo

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante
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 =222

Observaçã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 isso

estouu perdido num sei nem como começar

obrigadoo

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...