Skip to main content

ShiftRows 2025 ISC Practical

 Write a program to declare a matrix A[][] of order (M × N) where ‘M’ is the number of rows and ‘N’ is the number of columns such that both M and N must be greater than 2 and less than 10. Allow the user to input integers into this matrix. Display appropriate error message for an invalid input.
Perform the following tasks on the matrix:
(a) Display the input matrix.
(b) Shift each row one step upwards so the first row becomes the last row, 2nd row will be the 1st row and so on.
(c) Display the rotated matrix along with the highest element and its location in the matrix.

Test your program for the following data and some random data:
Example 1
INPUT:
M = 3
N = 4
Enter elements in the matrix:

100

90

87

76

200

500

167

998

77

567

89

254

OUTPUT:
FORMED MATRIX AFTER ROTATING:

200

500

167

998

77

567

89

254

100

90

87

76

Highest element: 998 (Row: 0 and Column: 3)
Example 2
INPUT:
M = 4
N = 3
Enter elements in the matrix:

54

120

187

78

55

289

134

67

89

63

341

122

OUTPUT:
FORMED MATRIX AFTER ROTATING:

78

55

289

134

67

89

63

341

122

54

120

187

Highest element: 341 (Row: 2 and Column: 1)
Example 3
INPUT:
M = 2
N = 3
OUTPUT: SIZE IS OUT OF RANGE. INVALID ENTRY.

Program:

import java.util.Scanner;
class ShiftRows{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.print("M = ");
        int m = sc.nextInt();
        System.out.print("N = ");
        int n = sc.nextInt();
        if(m < 3 || m > 9 || n < 3 || n > 9){
            System.out.println("SIZE IS OUT OF RANGE. INVALID ENTRY.");
            return;
        }
        int mat[][] = new int[m][n];
        int r = 0;
        int c = 0;
        System.out.println("ENTER ELEMENTS IN THE MATRIX:");
        for(int i = 0; i < m; i++){
            for(int j = 0; j < n; j++){
                mat[i][j] = sc.nextInt();
            }
        }
        System.out.println("ORIGINAL MATRIX:");
        display(mat);
        int a[] = new int[n];
        for(int i = 0; i < n; i++)
            a[i] = mat[0][i];
        for(int i = 1; i < m; i++){
            for(int j = 0; j < n; j++){
                mat[i - 1][j] = mat[i][j];
            }
        }
        for(int i = 0; i < n; i++)
            mat[m - 1][i] = a[i];
        System.out.println("FORMED MATRIX AFTER ROTATING:");
        display(mat);
        for(int i = 0; i < m; i++){
            for(int j = 0; j < n; j++){
                if(mat[i][j] > mat[r][c]){
                    r = i;
                    c = j;
                }
            }
        }
        System.out.print("HIGHEST ELEMENT: " + mat[r][c]);
        System.out.println(" (Row: " + r + " and Column: " + c + ")");
        sc.close();
    }
    public static void display(int mat[][]){
        for(int i = 0; i < mat.length; i++){
            for(int j = 0; j < mat[0].length; j++){
                System.out.print(mat[i][j] + "\t");
            }
            System.out.println();
        }
    }
}

Popular posts from this blog