Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
xxxduoxxx

trabalho da facul matriz de distancias

Recommended Posts

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^^

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×