luishenriique

Atividade 08 - TAP II

Dec 4th, 2013
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.82 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. /**
  4.  * Modelagem de um grafo em uma matriz de adjacencia
  5.  *
  6.  * @author Luis Henrique
  7.  */
  8. public class MainCls {
  9.     public static void main(String[] args) {
  10.         Vertice vertice = new Vertice();
  11.         Vertice aresta = new Vertice();
  12.         Scanner in = new Scanner(System.in);
  13.  
  14.         // Solicita a quantidade de vertices do grafo
  15.         System.out.print("Quantidade de Vertices: ");
  16.         vertice.setQuantidade(in.nextInt());
  17.  
  18.         // Cria matriz e preenche o cabeçalho
  19.         int qtd = vertice.getQuantidade() + 1;
  20.         int[][] matriz = new int[qtd][qtd];
  21.         for (int i = 1; i < qtd; i++) {
  22.             matriz[0][i] = i;
  23.             matriz[i][0] = i;
  24.         }
  25.         // Pergunta se existe ligação ou não entre os vertices
  26.         if (qtd > 2)
  27.             System.out.println("(1) Sim | (2) Não");
  28.         for (int i = 1; i < qtd; i++) {
  29.             for (int j = 1; j < qtd; j++) {
  30.                 // Lista apenas os vertices com indice diferente
  31.                 if (i != j) {
  32.                     System.out.println("Existe ligação entre " + i + " e " + j
  33.                             + "?");
  34.                     matriz[i][j] = aresta.setArestas(in.nextInt());
  35.                 }
  36.             }
  37.         }
  38.  
  39.         // Modela a matriz de adjacencia
  40.         System.out.println("Matriz de adjacencia");
  41.         for (int i = 0; i < qtd; i++) {
  42.             for (int j = 0; j < vertice.getQuantidade() + 1; j++)
  43.                 System.out.print(matriz[i][j] + "|");
  44.             System.out.println();
  45.         }
  46.  
  47.     }
  48.  
  49. }
  50.  
  51. #############
  52.  
  53. public class Vertice<No> {
  54.  
  55.     private int quantidade;
  56.     private int arestas;
  57.     private int vertice;
  58.  
  59.     public int getQuantidade() {
  60.         return quantidade;
  61.     }
  62.  
  63.     public void setQuantidade(int quantidade) {
  64.         this.quantidade = quantidade;
  65.     }
  66.  
  67.     public int getArestas() {
  68.         return arestas;
  69.     }
  70.  
  71.     public int setArestas(int arestas) {
  72.         return this.arestas = arestas;
  73.     }
  74.  
  75.     public int getVertice() {
  76.         return vertice;
  77.     }
  78.  
  79.     public void setVertice(int vertice) {
  80.         this.vertice = vertice;
  81.     }
  82.  
  83. }
Advertisement
Add Comment
Please, Sign In to add comment