Código java

01/12/2015

1

Oque falta neste código.. Alguem consegue me ajudar..

package Dijkstra;


public class A_Dijkistra {
public static void main (String[]args){

Dijkstra d = new Dijkstra();

int iDig = System.Scanner xxxx;

d.quantosPontos(iDig);

for (int i = 0; i < iDig; i++) {
int iVar1 = System.Scanint xxxx;
int iVar2 = System.Scanint xxxx;
int iVar3 = System.Scanint xxxx;

d.pegaDados(iVar1, iVar2, iVar3);
}

//d.quantosPontos(5);

//d.pegaDados(1, 5, 14);
//d.pegaDados(1, 2, 2);
//d.pegaDados(1, 3, 7);
//d.pegaDados(2, 3, 3);
//d.pegaDados(2, 5, 10);
//d.pegaDados(3, 4, 9);
//d.pegaDados(3, 5, 4);
//d.pegaDados(5, 4, 2);



d.mostraTabela();

d.percorreCaminho();

d.mostraCaminhoMin();

}

}
Responder

Posts

01/12/2015

Natan Pereira

O que faz esse código?

[img]http://arquivo.devmedia.com.br/forum/imagem/413005-20151201-141728.jpg[/img]
Responder

01/12/2015

Frodo F

O que faz esse código?

[img]http://arquivo.devmedia.com.br/forum/imagem/413005-20151201-141728.jpg[/img]


Esse código e pra ser a interação com o usuário .
o codigo completo e o caminho minimo de dijkstra e tem um outro codigo maior que esse..
Responder

01/12/2015

Natan Pereira

Coloquei esse código e não entendi bem, o erro que aparece:

[img]http://arquivo.devmedia.com.br/forum/imagem/413005-20151201-144512.jpg[/img]

Tem mais código?
Responder

01/12/2015

Frodo F

ta vou postar os dois códigos pra vc dar uma olhada.. e esses dois são executavel... agora preciso que no caso o programa me peça pra digitar ...

1)


package Dijkstra;

public class A_Dijkistra {
public static void main (String[]args){

Dijkstra d = new Dijkstra();

d.quantosPontos(5);


d.pegaDados(1, 5, 14);
d.pegaDados(1, 2, 2);
d.pegaDados(1, 3, 7);
d.pegaDados(2, 3, 3);
d.pegaDados(2, 5, 10);
d.pegaDados(3, 4, 9);
d.pegaDados(3, 5, 4);
d.pegaDados(5, 4, 2);



d.mostraTabela();

d.percorreCaminho();

d.mostraCaminhoMin();

}


}




2)


package Dijkstra;

public class Dijkstra {
private int[][] arrayDikis;
private int minimo;
private int pesoPassado;
private int[] Estimativa;
private int[] Precedente;
private char[] Estado;
private int peso;
private int posicao=1;

public void quantosPontos(int quantidade) {
int[][] arrayDikis = new int[quantidade][quantidade];
this.arrayDikis = arrayDikis;
int[] Estimativa = new int[quantidade];
this.Estimativa = Estimativa;
int[] Precedente = new int[quantidade];
this.Precedente = Precedente;
char[] Estado = new char[quantidade];
this.Estado = Estado;

for (int i = 0; i < Estado.length; i++) {
Estado[i] = 'a';
}
Estimativa[0] = 0;
Precedente[0] = 0;
Estado[0] = 'f';

}

public void pegaDados(int pPonto, int sPonto, int peso) {
arrayDikis[pPonto - 1][sPonto - 1] = peso;
arrayDikis[sPonto - 1][pPonto - 1] = peso;
}

public void percorreCaminho() {
for (int cont = 0; cont < arrayDikis.length; cont++) {
for (int conta = 0; conta < arrayDikis.length; conta++) {

if (arrayDikis[cont][conta] != 0) {

peso = arrayDikis[cont][conta];

if (Estado[conta] == 'a') {
Estimativa[conta] = peso + pesoPassado;
Precedente[conta] = posicao;
}
}
}
for (int i = 0; i < Estimativa.length; i++) {
for (int j = 0; j < Estimativa.length; j++) {

if (Estado[i] == 'a' && Estado[j] == 'a' && Estimativa[i] != 0 && Estimativa[j] != 0) {

if (Estimativa[i] < Estimativa[j]) {

if (Estimativa[i] <minimo || minimo==0) {
minimo=Estimativa[i];
pesoPassado = Estimativa[i];
posicao = i;
}
}
}
}
}
minimo=0;
if (posicao != 0) {
Estado[posicao] = 'f';
}
}
}

public void mostraCaminhoMin() {
System.out.println();
System.out.println();
System.out.println("o caminho minimo é :");

for (int i = 0; i < Estimativa.length; i++) {
System.out.print(Estimativa[i] + " \t ");

}
}

public void mostraTabela() {
for (int i = 0; i < arrayDikis.length; i++) {
System.out.println();
for (int j = 0; j < arrayDikis.length; j++) {
System.out.print(arrayDikis[i][j] + "\t");
}
}
}

}
Responder

01/12/2015

Natan Pereira

Tu é iniciante em java ou já está no avançado?
Responder

01/12/2015

Frodo F

iniciante... Tenho que fazer a implementação de código..e não to conseguindo
Responder

06/12/2015

Natan Pereira

Aguarde alguem mais experiente para tentar te ajudar.
Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira