Matrix


SUBMITTED BY: Guest

DATE: Nov. 8, 2014, 12:29 p.m.

FORMAT: Java

SIZE: 2.4 kB

HITS: 654

  1. public class Matrix
  2. {
  3. private int[][] arr;
  4. private int n;
  5. public Matrix(int n)
  6. {
  7. this.n = n;
  8. this.arr = new int[n][n];
  9. }
  10. public Matrix(int[][] arr)
  11. {
  12. this.arr = arr;
  13. this.n = arr.length;
  14. }
  15. public Matrix assign(Matrix a)
  16. {
  17. Matrix b = new Matrix(a.getN());
  18. for (int i = 0; i<n; i++)
  19. {
  20. for (int j = 0; j<n; j++)
  21. {
  22. b.arr[i][j] = a.arr[i][j];
  23. }
  24. }
  25. return b;
  26. }
  27. public Matrix plus(Matrix b)
  28. {
  29. Matrix a = this;
  30. Matrix c = new Matrix(a.getN());
  31. for (int i = 0; i < a.getN(); i++)
  32. {
  33. for (int j = 0; j < a.getN(); j++)
  34. {
  35. if ((a.arr[i][j] == 1) || (b.arr[i][j] == 1))
  36. c.arr[i][j] = 1;
  37. else
  38. c.arr[i][j] = 0;
  39. //c.arr[i][j] = a.arr[i][j] + b.arr[i][j];
  40. }
  41. }
  42. return c;
  43. }
  44. public Matrix mul(Matrix a, Matrix b)
  45. {
  46. Matrix c = new Matrix(a.getN());
  47. for (int i = 0; i<a.getN(); i++)
  48. for (int j = 0; j<a.getN(); j++)
  49. c.arr[i][j] = 0;
  50. for (int i = 0; i < a.getN(); i++)
  51. {
  52. for (int j = 0; j < a.getN(); j++)
  53. {
  54. for (int k = 0; k < a.getN(); k++)
  55. {
  56. c.arr[i][j] += (a.arr[i][k] * b.arr[k][j]);
  57. }
  58. if (c.arr[i][j]>0)
  59. c.arr[i][j] = 1;
  60. }
  61. }
  62. return c;
  63. }
  64. public Matrix pathway(Matrix a)
  65. {
  66. Matrix temp, mat, p;
  67. temp = new Matrix(a.getN());
  68. mat = new Matrix(a.getN());
  69. p = new Matrix(a.getN());
  70. temp.assign(a);
  71. p.assign(a);
  72. for (int i = 0; i<a.getN()-1; i++)
  73. {
  74. mat.equals(mul(temp, a));
  75. p.equals(plus(mat));
  76. mat.assign(temp);
  77. }
  78. return p;
  79. }
  80. public int[][] getArr() {
  81. return arr;
  82. }
  83. public void setArr(int[][] arr) {
  84. this.arr = arr;
  85. }
  86. public int getN() {
  87. return n;
  88. }
  89. public void setN(int n) {
  90. this.n = n;
  91. }
  92. }

comments powered by Disqus