C Programs Tutorials | IT Developer
IT Developer

Java Programs - Solved 2018 Theory Paper ISC Computer Science



Share with a Friend

Solved 2018 Theory Paper ISC Computer Science

Class 12 - ISC Computer Science Solved Theory Papers

Checking for Equal Matrices - ISC 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:

123
245
356

Class name: Perfect
Data members/instance variables:
num: to store the number
Methods/Member functions:
Perfect(int n): parameterized constructor to initialize the data member num = n.
int sumOfFactors(int i): returns the sum of the factors of the number (num), excluding itself, using recursive technique.
void check(): checks whether the given number is perfect by invoking the function sumOfFactors(int) and displays the result with an appropriate message.

Matrix B:

123
245
356

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 m, int n): parameterised constructor to initialise the data members m and n.
void readArray(): to enter elements in the array.
int check(EqMat p, EqMat q): checks if the parameterised 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.

Program:

import java.io.*; class EqMat{ private int a[][]; private int m; private int n; public EqMat(int m, int n){ this.m = m; this.n = n; a = new int[m][n]; } public void readArray()throws IOException{ InputStreamReader in = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(in); for(int i = 0; i < m; i++){ for(int j = 0; j < n; j++) a[i][j] = Integer.parseInt(br.readLine()); } } public int check(EqMat p, EqMat q){ int status = 1; outer: for(int i = 0; i < m; i++){ for(int j = 0; j < n; j++){ if(p.a[i][j] != q.a[i][j]){ status = 0; break outer; } } } return status; } 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[]) throws IOException{ InputStreamReader in = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(in); System.out.print("Number of rows: "); int rows = Integer.parseInt(br.readLine()); System.out.print("Number of columns: "); int columns = Integer.parseInt(br.readLine()); EqMat obj1 = new EqMat(rows, columns); EqMat obj2 = new EqMat(rows, columns); System.out.println("Enter first matrix elements:"); obj1.readArray(); System.out.println("Enter second matrix elements:"); obj2.readArray(); System.out.println("First Matrix:"); obj1.print(); System.out.println("Second Matrix:"); obj2.print(); EqMat temp = new EqMat(rows, columns); if(temp.check(obj1, obj2) == 1) System.out.println("Matrices are equal."); else System.out.println("Matrices are unequal."); } }

Output

OUTPUT 1:
Number of rows: 3
Number of columns: 3
Enter first matrix elements:
1
2
3
4
5
6
7
8
9
Enter second matrix elements:
1
2
3
4
5
6
7
8
9
First Matrix:
1   2   3   
4   5   6   
7   8   9   
Second Matrix:
1   2   3   
4   5   6   
7   8   9   

Matrices are equal.


OUTPUT 2:

Number of rows: 3
Number of columns: 3
Enter first matrix elements:
1
2
3
4
5
6
7
8
9
Enter second matrix elements:
11
22
33
44
55
66
77
88
99
First Matrix:
1   2   3   
4   5   6   
7   8   9   
Second Matrix:
11  22  33  
44  55  66  
77  88  99  
Matrices are unequal.