Delete OOP/Java/Lab/matrix_threaded.java
This commit is contained in:
		
							parent
							
								
									1b5dc8d861
								
							
						
					
					
						commit
						a178d96e2a
					
				
					 1 changed files with 0 additions and 161 deletions
				
			
		| 
						 | 
					@ -1,161 +0,0 @@
 | 
				
			||||||
import java.util.Scanner;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class Matrix {
 | 
					 | 
				
			||||||
    static int[][] matrix;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    Matrix(int rows, int columns) {
 | 
					 | 
				
			||||||
        matrix = new int[rows][columns];
 | 
					 | 
				
			||||||
        Scanner sc = new Scanner(System.in);
 | 
					 | 
				
			||||||
        System.out.println("Enter the values");
 | 
					 | 
				
			||||||
        for (int i = 0; i < rows; i++) {
 | 
					 | 
				
			||||||
            for (int j = 0; j < columns; j++) {
 | 
					 | 
				
			||||||
                matrix[i][j] = sc.nextInt();
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class DisplayMatrixThread extends Thread {
 | 
					 | 
				
			||||||
    static int[][] matrix;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    DisplayMatrixThread(Matrix matrixObj) {
 | 
					 | 
				
			||||||
        matrix = Matrix.matrix;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    public void run() {
 | 
					 | 
				
			||||||
        for (int[] row : matrix) {
 | 
					 | 
				
			||||||
            for (int value : row) {
 | 
					 | 
				
			||||||
                System.out.print(value + "\t");
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            System.out.println();
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class TransposeMatrixThread extends Thread {
 | 
					 | 
				
			||||||
    int[][] matrix;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    TransposeMatrixThread(Matrix matrixObj) {
 | 
					 | 
				
			||||||
        matrix = matrixObj.matrix;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    public void run() {
 | 
					 | 
				
			||||||
        int rows = matrix.length;
 | 
					 | 
				
			||||||
        int columns = matrix[0].length;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        for (int j = 0; j < columns; j++) {
 | 
					 | 
				
			||||||
            for (int i = 0; i < rows; i++) {
 | 
					 | 
				
			||||||
                System.out.print(matrix[i][j] + "\t");
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            System.out.println();
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class MaxValueThread extends Thread {
 | 
					 | 
				
			||||||
    static int[][] matrix;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    MaxValueThread(Matrix matrixObj) {
 | 
					 | 
				
			||||||
        matrix = Matrix.matrix;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    public void run() {
 | 
					 | 
				
			||||||
        int max = matrix[0][0];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        for (int[] row : matrix) {
 | 
					 | 
				
			||||||
            for (int value : row) {
 | 
					 | 
				
			||||||
                if (value > max) {
 | 
					 | 
				
			||||||
                    max = value;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        System.out.println("Maximum value in the matrix: " + max);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class PrincipalDiagonalThread extends Thread {
 | 
					 | 
				
			||||||
    static int[][] matrix;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    PrincipalDiagonalThread(Matrix matrixObj) {
 | 
					 | 
				
			||||||
        matrix = Matrix.matrix;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    public void run() {
 | 
					 | 
				
			||||||
        int rows = matrix.length;
 | 
					 | 
				
			||||||
        int columns = matrix[0].length;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        System.out.print("Principal Diagonal Elements: ");
 | 
					 | 
				
			||||||
        for (int i = 0; i < Math.min(rows, columns); i++) {
 | 
					 | 
				
			||||||
            System.out.print(matrix[i][i] + " ");
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        System.out.println();
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class NonDiagonalThread extends Thread {
 | 
					 | 
				
			||||||
    static int[][] matrix;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    NonDiagonalThread(Matrix matrixObj) {
 | 
					 | 
				
			||||||
        matrix = Matrix.matrix;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    public void run() {
 | 
					 | 
				
			||||||
        int rows = matrix.length;
 | 
					 | 
				
			||||||
        int columns = matrix[0].length;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        System.out.print("Non-Diagonal Elements: ");
 | 
					 | 
				
			||||||
        for (int i = 0; i < rows; i++) {
 | 
					 | 
				
			||||||
            for (int j = 0; j < columns; j++) {
 | 
					 | 
				
			||||||
                if (i != j) {
 | 
					 | 
				
			||||||
                    System.out.print(matrix[i][j] + " ");
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        System.out.println();
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class ThreadMatrix {
 | 
					 | 
				
			||||||
    public static void main(String[] args) {
 | 
					 | 
				
			||||||
        Scanner sc = new Scanner(System.in);
 | 
					 | 
				
			||||||
        System.out.println("Enter the no. of rows and columns");
 | 
					 | 
				
			||||||
        int rows = sc.nextInt();
 | 
					 | 
				
			||||||
        int columns = sc.nextInt();
 | 
					 | 
				
			||||||
        Matrix matrixObj = new Matrix(rows, columns);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        DisplayMatrixThread t1 = new DisplayMatrixThread(matrixObj);
 | 
					 | 
				
			||||||
        TransposeMatrixThread t2 = new TransposeMatrixThread(matrixObj);
 | 
					 | 
				
			||||||
        MaxValueThread t3 = new MaxValueThread(matrixObj);
 | 
					 | 
				
			||||||
        PrincipalDiagonalThread t4 = new PrincipalDiagonalThread(matrixObj);
 | 
					 | 
				
			||||||
        NonDiagonalThread t5 = new NonDiagonalThread(matrixObj);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        try {
 | 
					 | 
				
			||||||
            t1.start();
 | 
					 | 
				
			||||||
            System.out.println("\nThread t1 is alive: " + t1.isAlive());
 | 
					 | 
				
			||||||
            t1.join();
 | 
					 | 
				
			||||||
            t2.start();
 | 
					 | 
				
			||||||
            System.out.println("\nThread t2 is alive: " + t2.isAlive());
 | 
					 | 
				
			||||||
            t2.join();
 | 
					 | 
				
			||||||
            t3.start();
 | 
					 | 
				
			||||||
            System.out.println("\nThread t3 is alive: " + t3.isAlive());
 | 
					 | 
				
			||||||
            t3.join();
 | 
					 | 
				
			||||||
            t4.start();
 | 
					 | 
				
			||||||
            System.out.println("\nThread t4 is alive: " + t4.isAlive());
 | 
					 | 
				
			||||||
            t4.join();
 | 
					 | 
				
			||||||
            t5.start();
 | 
					 | 
				
			||||||
            System.out.println("\nThread t5 is alive: " + t5.isAlive());
 | 
					 | 
				
			||||||
            t5.join();
 | 
					 | 
				
			||||||
        } catch (InterruptedException e) {
 | 
					 | 
				
			||||||
            e.printStackTrace();
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        System.out.println("\nThread t1 is alive: " + t1.isAlive());
 | 
					 | 
				
			||||||
        System.out.println("Thread t2 is alive: " + t2.isAlive());
 | 
					 | 
				
			||||||
        System.out.println("Thread t3 is alive: " + t3.isAlive());
 | 
					 | 
				
			||||||
        System.out.println("Thread t4 is alive: " + t4.isAlive());
 | 
					 | 
				
			||||||
        System.out.println("Thread t5 is alive: " + t5.isAlive());
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        System.out.println("\nMain thread exits.");
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue