Equal Matrix ISC Computer Science 2018 Theory

Two matrices are said to be equal if they have the same dimension and their corresponding elements are equal.

For example the two matrices A and B given below are equal:

Matrix A
1 2 3
2 4 5
3 5 6

Matrix B
1 2 3
2 4 5
3 5 6

Design a class EqMat to check if two matrices are equal or not. Assume that the two matrices have the same dimension.

Some of the members of the class are given below:

Class name: EqMat

Data members/instance variables:
a[][]: to store integer elements
m: to store the number of rows
n: to store the number of columns

Member functions/methods:
EqMat(int mm, int nn): parameterized constructor to initialize the data members m = mm and n = nn
void readArray(): to enter elements in the array
int check(EqMat p, EqMat q): checks if the parameterized objects p and q are equal and returns 1 if true, otherwise returns 0
void print(): displays the array elements

Define the class EqMat giving details of the constructor, void readArray(), int check(EqMat, EqMat) and void print(). Define the main() function to create objects and call the functions accordingly to enable the task.

import java.util.Scanner;
class EqMat{
    int a[][];
    int m;
    int n;
    public EqMat(int mm, int nn){
        m = mm;
        n = nn;
        a = new int[m][n];
    }
    public void readArray(){
        Scanner in = new Scanner(System.in);
        System.out.println("Enter matrix elements:");
        for(int i = 0; i < m; i++){
            for(int j = 0; j < n; j++){
                a[i][j] = Integer.parseInt(in.nextLine());
            }
        }
    }
    public int check(EqMat p, EqMat q){
        if(p.m != q.m || p.n != q.n)
            return 0;
        for(int i = 0; i < m; i++){
            for(int j = 0; j < n; j++){
                if(p.a[i][j] != q.a[i][j])
                    return 0;
            }
        }
        return 1;
    }
    public void print(){
        for(int i = 0; i < m; i++){
            for(int j = 0; j < n; j++)
                System.out.print(a[i][j] + "\t");
            System.out.println();
        }
    }
    public static void main(String args[]){
        Scanner in = new Scanner(System.in);
        System.out.print("Number of rows for Matrix A: ");
        int r1 = Integer.parseInt(in.nextLine());
        System.out.print("Number of columns for Matrix A: ");
        int c1 = Integer.parseInt(in.nextLine());
        EqMat x = new EqMat(r1, c1);
        x.readArray();
        System.out.print("Number of rows for Matrix B: ");
        int r2 = Integer.parseInt(in.nextLine());
        System.out.print("Number of columns for Matrix B: ");
        int c2 = Integer.parseInt(in.nextLine());
        EqMat y = new EqMat(r2, c2);
        y.readArray();
        System.out.println("Matrix A");
        x.print();
        System.out.println("Matrix B");
        y.print();
        if(x.check(x, y) == 1)
            System.out.println("Matrices are equal.");
        else
            System.out.println("Matrices are unequal.");
    }
}

Comments

Popular posts from this blog

Encrypt Program ISC Specimen 2023 Theory

No Repeat Program ISC Computer Science 2022 Semester 2 Theory

Bank Inheritance Program ISC Specimen 2023 Theory