Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- /**
- * Modelagem de um grafo em uma matriz de adjacencia
- *
- * @author Luis Henrique
- */
- public class MainCls {
- public static void main(String[] args) {
- Vertice vertice = new Vertice();
- Vertice aresta = new Vertice();
- Scanner in = new Scanner(System.in);
- // Solicita a quantidade de vertices do grafo
- System.out.print("Quantidade de Vertices: ");
- vertice.setQuantidade(in.nextInt());
- // Cria matriz e preenche o cabeçalho
- int qtd = vertice.getQuantidade() + 1;
- int[][] matriz = new int[qtd][qtd];
- for (int i = 1; i < qtd; i++) {
- matriz[0][i] = i;
- matriz[i][0] = i;
- }
- // Pergunta se existe ligação ou não entre os vertices
- if (qtd > 2)
- System.out.println("(1) Sim | (2) Não");
- for (int i = 1; i < qtd; i++) {
- for (int j = 1; j < qtd; j++) {
- // Lista apenas os vertices com indice diferente
- if (i != j) {
- System.out.println("Existe ligação entre " + i + " e " + j
- + "?");
- matriz[i][j] = aresta.setArestas(in.nextInt());
- }
- }
- }
- // Modela a matriz de adjacencia
- System.out.println("Matriz de adjacencia");
- for (int i = 0; i < qtd; i++) {
- for (int j = 0; j < vertice.getQuantidade() + 1; j++)
- System.out.print(matriz[i][j] + "|");
- System.out.println();
- }
- }
- }
- #############
- public class Vertice<No> {
- private int quantidade;
- private int arestas;
- private int vertice;
- public int getQuantidade() {
- return quantidade;
- }
- public void setQuantidade(int quantidade) {
- this.quantidade = quantidade;
- }
- public int getArestas() {
- return arestas;
- }
- public int setArestas(int arestas) {
- return this.arestas = arestas;
- }
- public int getVertice() {
- return vertice;
- }
- public void setVertice(int vertice) {
- this.vertice = vertice;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment