- Class 12 Java Program
- ISC Java Programs - Home
- Year 2025 Theory Programs
- Pernicious Number Program
- Check Matrix Column Sum Program
- Flipgram (Heterogram) Program
- Circular Queue Program
- Flight Passenger Inheritance Program
- Year 2025 Practical Programs
- Goldbach Number Program
- Shift Matrix Rows Up Program
- Pangram String Program
- Later Date Program
- Symmetric Matrix Program
- Cell Phone Keypad Program
- Unique Digit Integer Program
- Max & Min Elements in Matrix Program
- Anagram Strings Program
- Year 2025 Specimen Theory Programs
- Mask String Program Specimen
- Mix Array Program Specimen
- LCM using Recursion Program Specimen
- Recycle Dequeue Program Specimen
- Library Compute Inheritance Program Specimen
- Linked List & Binary Tree Question Specimen
- Year 2024 Programs
- Decimal to Hexadecimal Program
- Insertion Sort Program
- Lowest & Highest ASCII Value Program
- Card Game Stack Program
- Employee Salary Overtime Inheritance Program
- Binary Tree 2024 Questions
- Hamming Number Program
- Doubly Markov Matrix Program
- Snowball String Program
- Future Date Program
- Lucky Number Program
- Bar Graph of Vowels & Consonants Program
- Vampire Number Program
- Rotate Matrix by 270 Degree Anticlockwise Program
- Keyword Cipher Program
- Year 2023 Programs
- Increasing, Decreasing & Bouncy Number Program
- Fill Matrix with Characters Program
- Decode Encoded Text Program
- Project Submission Date Program
- Sort Matrix Boundary Elements Program
- Insert Word in a Sentence Program
- Composite Magic Number Program
- Mirror Image of a Matrix Program
- Common Words in a Paragraph Program
- Dudeney Number Recursive Program
- Matrix Transpose Program
- Sort Words Alphabetically Program
- DeQueue Data Structure Program
- Demand Supply Inheritance Program
- Linked List & Binary Tree Question
- Year 2023 Specimen Theory Programs
- Pronic Number in Java using Recursion
- Year 2022 Programs
- Unique Word Program
- No Repeated Alphabets Program
- Calculate Series Program
- Reverse Number using Recursion Program
- Item Taxable Inheritance Program
- Stack Data Structure Program
- Year 2021 Programs
- Evil Number Program
- Merge Two Arrays Program
- Remove Repeated Alphabets Program
- Rack Stack Data Structure Program
- Stock Sales Inheritance Program
- Year 2020 Theory Programs
- Date and Month Program
- Binary Search using Recursion Program
- Mix Two Words Program
- Circular Queue Program
- Data Interface Program
- Year 2020 Practical Programs
- Prime Adam Number Program
- Octal to Decimal Conversion Program
- Arrange Words Length-wise Program
- Year 2019 Theory Programs
- Armstrong Number Program
- Reverse Matrix Elements Program
- Rearrange Vowels & Consonants Program
- Record & Highest Inheritance Program
- Diary Class Queue Program
- Linked List and Binary Tree Program
- Year 2019 Practical Programs
- Generate Date Program
- Array Format Program
- Generate Palindrome Words
- Year 2018 Theory Programs
- Perfect Number Program on Recursion
- Checking for Equal Matrices
- Words Beginning with Capital Letter
- Number Series Inheritance Program
- Register Stack Program
- Year 2018 Practical Programs
- Goldbach Number Program
- Sorting Two-Dimensional Matrix Program
- Vertical Banner Program
- Year 2017 Theory Programs
- Palindrome using Recursion Program
- Adder Program
- Swap Sort Program
- Product Sales Inheritance Program
- Queue Program on Array
- Year 2017 Practical Programs
- Cartons Program
- Quiz Program
- Caesar Cipher Program
- Year 2016 Theory Programs
- Disarium Number Recursive Program
- Shift Matrix Shuffle Program
- ConsChange Program
- Bank Account Inheritance Program
- Bookshelf Stack Program
- Year 2016 Practical Programs
- Circular Prime Program
- Sort Non-boundary Matrix Elements Program
- Words Beginning and Ending with Vowels Program
- Year 2015 Theory Programs
- Admission Recursive Binary Search Program
- Merger Class Concatenation Program
- String Frequency Program
- WordPile Stack Program
- Plane Circle Inheritance Program
- Year 2015 Practical Programs
- Smallest Integer Program
- Rotate Matrix 90 Degrees Program
- Vowels and Consonants Per Word Program
- Year 2014 Theory Programs
- Merging Sorted Arrays Program
- Series Sum Program
- Fibonacci Strings Program
- Stock Purchase Inheritance Program
- Array to Stack Program
- Year 2014 Practical Programs
- Composite Magic Program
- Symmetric Matrix Program
- Deleting Word from String Program
- Year 2013 Theory Programs
- Emirp Number Program
- Exchange Alphabets Program
- Matrix Difference Program
- Perimeter Area Inheritance Program
- Dequeue Queue Program
- Year 2013 Practical Programs
- ISBN Code Program
- Mirror Image Matrix Program
- Palindrome Words Program
- Year 2012 Theory Programs
- Combine Array Program
- Vowel Word Program
- Happy Number Program
- Link Queue Program
- Detail Bill Inheritance Program
- Year 2012 Practical Programs
- Prime Palindrome Program
- Arrange Words Alphabetically Program
- Sort Matrix Elements Program
- Year 2011 Theory Programs
- Frequency of “And” and “An” Program
- Decimal to Octal Conversion Program
- Pseudo Arithmetic Sequence Program
- Record Rank Inheritance Program
- Stack Program Storing Names
- Year 2011 Practical Programs
- Number to Words Conversion Program
- Year 2009 Theory Programs
- Magic Number Program
- Year 2008 Theory Programs
- Special Number Program
- Year 2007 Theory Programs
- Triangular Number Program
Java Programs - Solved 2024 Theory Paper ISC Computer Science
![]() Share with a Friend |
Solved 2024 Thory Paper ISC Computer Science
Class 12 - ISC Computer Science Solved Theory Papers
Doubly Markov Matrix Program - ISC 2024 Theory
Write a program to declare a square matrix M[][] of order ‘N’. Check if the matrix is a Doubly Markov matrix or not. A matrix which satisfies the following conditions is Doubly Markov Matrix:
(i) All elements are >= 0
(ii) Sum of each row = 1
(iii) Sum of each column = 1
Accept ‘N’ from the user where 3 <= N <= 9. Display an appropriate error message if ‘N’ is not in the given range or the entered numbers are negative. Allow the user to create a matrix and check whether the created matrix is a Doubly Markov Matrix or not.
Test your program for the following data and some random data:
Example 1
INPUT: N = 3
Enter elements in the matrix: 0.5, 0.25, 0.25, 0.25, 0.75, 0.0, 0.25, 0.0, 0.75
OUTPUT: FORMED MATRIX
|
0.5 |
0.25 |
0.25 |
|
0.25 |
0.75 |
0.0 |
|
0.25 |
0.0 |
0.75 |
IT IS A DOUBLY MARKOV MATRIX
Example 2
INPUT: N = 3
Enter elements in the matrix: 1.5, 3, 0.15, 0.25, 4, 1.0, 0.25, 1.0, 3
OUTPUT: FORMED MATRIX
|
1.5 |
3 |
0.15 |
|
0.25 |
4 |
1.0 |
|
0.25 |
1.0 |
3 |
IT IS NOT A DOUBLY MARKOV MATRIX
Example 3
INPUT: N = 3
Enter elements in the matrix: 0.8, -4.0, 0.9, 3.5, 0.25, 0.25, 0.5, 0.0, 0.5
OUTPUT: NEGATIVE NUMBERS ENTERED. INVALID ENTRY
Example 4
INPUT: N = 12
OUTPUT: SIZE IS OUT OF RANGE. INVALID ENTRY
import java.util.Scanner; class DoublyMarkov{ public static void main(String[] args){ Scanner in = new Scanner(System.in); System.out.print("N = "); int n = Integer.parseInt(in.nextLine()); if(n < 3 || n > 9){ System.out.println("SIZE IS OUT OF RANGE. INVALID ENTRY"); return; } double m[][] = new double[n][n]; boolean isNegative = false; System.out.println("Enter elements in the matrix:"); for(int i = 0; i < n; i++){ for(int j = 0; j < n; j++){ m[i][j] = Double.parseDouble(in.nextLine()); if(m[i][j] < 0) isNegative = true; } } if(isNegative){ System.out.println("NEGATIVE NUMBERS ENTERED. INVALID ENTRY"); return; } System.out.println("FORMED MATRIX"); for(int i = 0; i < n; i++){ for(int j = 0; j < n; j++) System.out.print(m[i][j] + "\t"); System.out.println(); } boolean isMarkov = true; for(int i = 0; i < n; i++){ double rowSum = 0.0; double colSum = 0.0; for(int j = 0; j < n; j++){ rowSum += m[i][j]; colSum += m[j][i]; } if(rowSum != 1) isMarkov = false; if(colSum != 1) isMarkov = false; } if(isMarkov) System.out.println("IT IS A DOUBLY MARKOV MATRIX"); else System.out.println("IT IS NOT A DOUBLY MARKOV MATRIX"); } }
Output
OUTPUT 1: N = 3 Enter elements in the matrix: 0.5 0.25 0.25 0.25 0.75 0.0 0.25 0.0 0.75 FORMED MATRIX 0.5 0.25 0.25 0.25 0.75 0.0 0.25 0.0 0.75 IT IS A DOUBLY MARKOV MATRIX OUTPUT 2: N = 3 Enter elements in the matrix: 1.5 3 0.15 0.25 4 1.0 0.25 1.0 3 FORMED MATRIX 1.5 3.0 0.15 0.25 4.0 1.0 0.25 1.0 3.0 IT IS NOT A DOUBLY MARKOV MATRIX OUTPUT 3: N = 3 Enter elements in the matrix: 0.8 -4.0 0.9 3.5 0.25 0.25 0.5 0.0 0.5 NEGATIVE NUMBERS ENTERED. INVALID ENTRY OUTPUT 4: N = 12 SIZE IS OUT OF RANGE. INVALID ENTRY
