Una forma sencilla y rápida de aprender JAVA, observando y deduciendo cómo se comporta el lenguaje a través de ejemplos prácticos.

Archivo del blog

jueves, 3 de enero de 2013

Pasar vector a Matriz Simétrica.

Se puede utilizar para tablas de distancias entre nodos, donde la distancia entre el nodo A y el B y viceversa son equivalentes.


Codigo:

package taulatriangular1;

public class TaulaTriangular1 {

  public static void main(String[] args) {

    int nNodes = 5;
    int vDist[] = {774, 647, 192, 754, 515, 578, 861, 947, 253, 496};
    int taula[][] = new int[nNodes][nNodes];
    int cont = 0;

    for (int i = 0; i < nNodes; i++) {
      for (int j = 0; j < nNodes; j++) {
        if (j == i) {
          taula[i][j] = 0;
        }
        if (j > i) {
          taula[i][j] = vDist[cont];
          taula[j][i] = taula[i][j];
          cont++;
        }
      } 
    }

    mostrarTaula(taula, nNodes);

  }

  private static void mostrarTaula(int[][] taula, int nNodes) {
    String str = "";
    for (int i = 0; i < nNodes; i++) {
      for (int j = 0; j < nNodes; j++) {
        str += taula[i][j] + "\t";
      }
      System.out.println(str);
      str = "";
    }
  }

}


Resultado:

run:
0    774    647    192    754
774  0      515    578    861
647  515    0      947    253
192  578    947    0      496
754  861    253    496    0
BUILD SUCCESSFUL (total time: 0 seconds)

Con la tecnología de Blogger.