diff --git a/OOP/Java/Lab/matrix_threaded.java b/OOP/Java/Lab/matrix_threaded.java deleted file mode 100644 index 990bf26..0000000 --- a/OOP/Java/Lab/matrix_threaded.java +++ /dev/null @@ -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."); - } -} \ No newline at end of file