The Programming Project: ISC Computer Science Theory Paper 2023 Program Transpose of a Matrix

Monday, December 15, 2025

ISC Computer Science Theory Paper 2023 Program Transpose of a Matrix

 





import java.util.*;

public class Matrix {

    public static void main(String[] args) {

        // Create a single Scanner object for System.in
        Scanner scanner = new Scanner(System.in);

        // Pass the single Scanner object to the Trans constructor
        Trans obj = new Trans(scanner);

        obj.fillarray();
        obj.display();

        // Close the Scanner
        scanner.close();
    }
}

class Trans {

    private int m;
    private int[][] arr;
    private int[][] arrT;
    private Scanner in;

    Trans(Scanner scanner) {
        this.in = scanner;
        System.out.println("Enter the order (size) of the square matrix:");
        this.m = in.nextInt();
        this.arr = new int[m][m];
        this.arrT = new int[m][m];
    }

    public void fillarray() {
        System.out.println("\n--- Entering elements for the " + m + "x" + m + " matrix ---");
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < m; j++) {
               
                System.out.println("Input element at [" + i + "][" + j + "]:");
                arr[i][j] = in.nextInt();
            }
        }
    }

    public void display() {
        System.out.println("\nORIGINAL MATRIX:");
        printMatrix(arr);

        transpose();
    }

    private void transpose() {
        System.out.println("\nTRANSPOSE OF THE MATRIX:");
        // The core logic for transpose: ArrT[i][j] = Arr[j][i]
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < m; j++) {
                arrT[i][j] = arr[j][i];
            }
        }
        printMatrix(arrT);
    }

    // Helper method for cleaner printing and better formatting
    private void printMatrix(int[][] matrix) {
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < m; j++) {
                // Use format for aligned columns, which improves readability
                System.out.format("%5d", matrix[i][j]);
            }
            System.out.println();
        }
    }
}

No comments:

Post a Comment