Tuesday, 11 November 2014

Lab 5 Matrix

class Matrix{
  int main_matrix[][];
  int column;
  Matrix exmatrix;
    Matrix(int main_matrix[][], int column){
     this.main_matrix = main_matrix;
     this.column = column;
    }
    void printm(){
     println("#Matrix#");
     for(int i = 0; i < this.main_matrix.length; i++){
       print("[ ");
       for(int i2 = 0; i2 < this.column; i2 += 1){
         print(this.main_matrix[i][i2]+" ");
         }
      println("]");
     }
     println("########");
    }
    Matrix plus(Matrix in){
      this.exmatrix = in;
      if((this.exmatrix.main_matrix.length == this.main_matrix.length) && (this.exmatrix.column == this.column)){
      int[][] ans = new int[this.main_matrix.length][this.column];
      for(int i = 0; i < this.main_matrix.length; i++){
       for(int i2 = 0; i2 < this.column; i2 += 1){
         ans[i][i2] = (this.main_matrix[i][i2])+(this.exmatrix.main_matrix[i][i2]);
       }
      }
      Matrix m = new Matrix(ans,this.column);
      return m;
      }
      else{
       println(" Row and Column are not the same");
       int[][] ans = new int[this.main_matrix.length][this.column];
      Matrix m = new Matrix(ans,this.column);
      return m;
      }
    }
    Matrix minus(Matrix in){
      this.exmatrix = in;
      if((this.exmatrix.main_matrix.length == this.main_matrix.length) && (this.exmatrix.column == this.column)){
      int[][] ans = new int[this.main_matrix.length][this.column];
      for(int i = 0; i < this.main_matrix.length; i++){
       for(int i2 = 0; i2 < this.column; i2 += 1){
         ans[i][i2] = (this.main_matrix[i][i2])-(this.exmatrix.main_matrix[i][i2]);
       }
      }
      Matrix m = new Matrix(ans,this.column);
      return m;
      }
      else{
       println(" Row and Column are not the same");
       int[][] ans = new int[this.main_matrix.length][this.column];
      Matrix m = new Matrix(ans,this.column);
      return m;
      }
    }
}
int[][] amatrix = {{2,2,4,4},
                   {3,3,4,6},
                   {3,2,2,7}};
int[][] bmatrix = {{4,4,3,4},
                   {3,3,4,6},
                   {3,3,4,6}};
void setup(){
  Matrix a = new Matrix(amatrix, 4);//(2d array, column)
  Matrix b = new Matrix(bmatrix, 4);
  a.printm();
  b.printm();
  a.plus(b).printm();
  a.minus(b).printm();
}

No comments:

Post a Comment