Ir ao conteúdo
  • Cadastre-se

trabalho da facul matriz de distancias


xxxduoxxx

Posts recomendados

galera to fazendo um trabalho q tem varias especificaçoes uma delas é a seguinte:

Construir um caminho da cidade 1 a n (a matriz é de distancias entre as cidades) respeitando a regra: "A cidade a frente do caminho é a mais proxima de ordem superior" ou seja se eu to na cidade 10 eu so posso ir pra cidade 11 em diante e nao pra 8 ou 7.calcular a distancia total desse caminho(nao precisa passar por todas as cidades)

* em caso de empate entre as distancias a cidade escolhida deve ser a de ordem superior.

a matriz de distancias é

1 2 3 4 5

1- 0.00 (3,61) 6,71 8,25 7,07

2- 3,61 0,00 (4,00) 6,08 5,39

3- 6,71 4,00 0,00 2,24 (2,24)

4- 8,25 6,08 2,24 0,00 1,41

5- 7,07 5,39 2,24 1,41 0,00

*lendo a matriz fica assim 0.00 é a distancia da cidade 1 pra ela mesma,3,61 é a distancida da cidade 1 pra 2 e assim vai.

ou seja ele tem começa na cidade 1 e tem q ir pra cidade mais proxima e de ordem superior (no caso a 2) dps ele vai da 2 para a 3 e da 3 pra 5.é como se ele le-se o j do matdist[j] do elemento q ele considera o menor e pula para a linha de valor igual a j,procura a cidade mais proxima dakela (na parte da matriz apos o 0.00 pois como eu disse acima ele nao pode ir pra uma cidade de ordem inferior

preciso de algo q faça o caminho como descrito acima (lembra um pouco aquela parada do vizinho mais proximo) e q retorne a soma das distancias nesse ex ai vai dar 9,85(3,61 + 4,00 + 2,24)

o trab é imenso e é pra sexta feira mais so falta fazer essa funçao pra acaba ele e eu to a dois dias tentando e sem sucesso

obrigado ae a quem pelo menos ler isso tudo q eu escrevi^^

Link para o comentário
Compartilhar em outros sites

Po bixo tu ta fazendo o mesmo trabalho q eu aqui na ufes hehehehe

eu te ajudo mas você vai t q me ajudar beleza

é moleza você tem q pega a matriz da distancia, você tem q pecorrer ela toda para axar a menor distancia da cidade 1 até qualqer outra e assim por diante.

crie uma variavel menor para guardar a menor distancia de cada verificação da matriz e uma variavel indice;

c tem q fazer um for com o j da matriz começando com i+1 para pegar apenas a de ordem maiores, o i começa com 0 mas sem nenhum for pra ele ;

ai você compara o valor (m.mat[j] <= menor ) se sim substitui o menor

e faz ind = j

tem q ser <= para quando de empate pega a de ordem superior;

fexa if e for

soma a distancia e faz i = ind assim ele começa da onde parou. ou seja tava em 0 se menor distancia é com 5 então na proxima comparacao ele começa com 5;

e antes do for eu fiz um while para verificar quando ele chega a ultima cidade;

lembrando q quando j for a ultima cidade akabo o problema

agora me ajuda com o item 9. akla parada de viajecompaz beleza

Link para o comentário
Compartilhar em outros sites

eu so da ufes cara...AUHUHAhuAhuA eu consegui fazer ontem fazendo pedindo ajuda a um veterano la...mais percebi q eu esqueci de calcula o custo dessa birosca

o item 9 num faço a minima ideia de como começa ele é o "trabalho do cacheiro viajante" procura na internet sobre esse algoritimo do cacheiro viajante q é exatamente esse eu fiz ele no primeiro periodo em python mais nao lembro mais como é

Falou ae

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!