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