Question: In this exercise, the main code passes to the CheckMatrix function a 2-dimensional array of integer numbers. First, the CheckMatrix function checks if the array






In this exercise, the main code passes to the CheckMatrix function a 2-dimensional array of integer numbers. First, the CheckMatrix function checks if the array represents a square matrix (i.e. number of rows equals number of columns). If the array is not square, the function prints "NONE" and exits. Second, if the array is square, the function checks if it is diagonal or not. A square matrix is diagonal when all elements other than the diagonal elements are zero. For example, the following matrix is a 3x3 diagonal matrix: 300 020 00-4 If the array is diagonal, the function prints 1, otherwise it prints 0. Third, the function checks if the array is scalar or not. A scalar matrix is a diagonal matrix with equivalent diagonal elements. For example, the following matrix is a 3x3 scalar matrix: 200 020 002 If the array is scalar, the function prints 1, otherwise it prints o. Lastly, the function checks if the array is identity or not. An identity matrix is a scalar matrix with all diagonal elements equal to 1. For example, the following matrix is a 3x3 identity matrix: 100 010 001 If the array is scalar, the function prints 1, otherwise it prints 0. You are required to write the body for the function called CheckMatrix. Your code should work with any COLUMN_SIZE integer value that is greater than 1. IMPORTANT NOTE Do not write and submit the main subroutine, or any include statments, these are already written and hidden from you. However, if you want to test your solution in any IDE (e.g., Code Blocks, CLion, Visual Studio, onlinegdb.com), then you will need to write your own main there for testing purposes. In the function header, do not change the order of the formal paramaters or add/remove others parameters. Do not change the function name. Do not change the name of the constant COLUMN_SIZE. Do not add any cout statements except for the final answer as specified above. Do not add "Enter row size", "the matrix is" or any similar prompts. Sample Testcase 0 (not graded, for student use only) Input: Suppose main calls CheckMatrix as CheckMatrix(m[][3], 3) with m equals: 500 050 005 Function Output: 1 1 1 0 Sample Testcase 2 (not graded, for student use only): Input: Suppose main calls CheckMatrix as CheckMatrix(m[][3], 3) with m equals: 140 010 901 Function Output: 0 0 0 0 Sample Testcase 3 (not graded, for student use only): Input: Suppose main calls CheckMatrix as CheckMatrix(m[][3], 2) with m equals: 500 050 Function Output: NONE i void CheckMatrix (int m[] [COLUMN_SIZE], int ROW_SIZE) 2 { 3 4 5 000 N 6 7 8 }
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
