Answer to Question #245966 in Java | JSP | JSF for kishan

Question #245966

Write a program in Java to perform the following operations on Matrix using

multithreading. Get the required input matrix from the user and after that run

three threads to perform the following operation.


a. Addition

b. Subtraction

c. Multiplication


1
Expert's answer
2021-10-04T00:50:47-0400

Source code


import java.util.Scanner;
public class Main
{
    
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		System.out.println("Enter number of rows: ");
		int rows=input.nextInt();
		System.out.println("Enter number of columns: ");
		int cols=input.nextInt();
		int [][] matrix1=new int [rows][cols];
		int [][] matrix2=new int [rows][cols];
		System.out.println("Enter first matrix: ");
		for(int i=0;i<rows;i++){
		    for(int j=0;j<cols;j++){
		        matrix1[i][j]=input.nextInt();
		    }
		}
		
		System.out.println("Enter second matrix: ");
		for(int i=0;i<rows;i++){
		    for(int j=0;j<cols;j++){
		        matrix2[i][j]=input.nextInt();
		    }
		}
		//addition
		Matrix thread1=new Matrix();
		thread1.addition(matrix1,matrix2,rows,cols);
		
		//subtraction
		Matrix thread2=new Matrix();
		thread2.subtraction(matrix1,matrix2,rows,cols);
		//multiplication
		Matrix thread3=new Matrix();
		thread3.multiplication(matrix1,matrix2,rows,cols);
		
	}
}
class Matrix extends Thread{
    public void addition(int [][] A, int [][] B, int r, int c){
        int [][] sum=new int[r][c];
        for(int i=0;i<r;i++){
            for(int j=0;j<c;j++){
		        sum[i][j]=A[i][j]+B[i][j];
		    }
		}
		System.out.println("The first matrix + second matrix is: ");
		for(int i=0;i<r;i++){
            for(int j=0;j<c;j++){
                System.out.print(sum[i][j]+" ");
		    }
		    System.out.println();
		}
    }
    public void subtraction(int [][] A, int [][] B, int r, int c){
        int [][] sub=new int[r][c];
        for(int i=0;i<r;i++){
            for(int j=0;j<c;j++){
		        sub[i][j]=A[i][j]-B[i][j];
		    }
		}
		System.out.println("The first matrix - second matrix is: ");
		for(int i=0;i<r;i++){
            for(int j=0;j<c;j++){
                System.out.print(sub[i][j]+" ");
		    }
		    System.out.println();
		}
    }
    public void multiplication(int [][] A, int [][] B, int r, int c){
        int [][] mul=new int[r][c];
        for(int i=0;i<r;i++){    
            for(int j=0;j<c;j++){    
                mul[i][j]=0;      
                for(int k=0;k<r;k++)      
                    {      
                    mul[i][j]+=A[i][k]*B[k][j];      
                    } 
            }   
        }    
		System.out.println("The first matrix * second matrix is: ");
		for(int i=0;i<r;i++){
            for(int j=0;j<c;j++){
                System.out.print(mul[i][j]+" ");
		    }
		    System.out.println();
		}
    }
}


Output






Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS