Computer Science
Write a program to declare a square matrix A[][] of order (M × M) where 'M' must be greater than 3 and less than 10. Allow the user to input positive integers into this matrix. Perform the following tasks on the matrix:
- Sort the non-boundary elements in ascending order using any standard sorting technique and rearrange them in the matrix.
- Calculate the sum of both the diagonals.
- Display the original matrix, rearranged matrix and only the diagonal elements of the rearranged matrix with their sum.
Test your program for the following data and some random data:
Example 1
INPUT:
M = 4
9 2 1 5
8 13 8 4
15 6 3 11
7 12 23 8
OUTPUT:
ORIGINAL MATRIX
9 2 1 5
8 13 8 4
15 6 3 11
7 12 23 8
REARRANGED MATRIX
9 2 1 5
8 3 6 4
15 8 13 11
7 12 23 8
DIAGONAL ELEMENTS
9 5
3 6
8 13
7 8
SUM OF THE DIAGONAL ELEMENTS = 59
Example 2
INPUT:
M = 5
7 4 1 9 5
8 2 6 10 19
13 1 3 5 1
10 0 5 12 16
1 8 17 6 8
OUTPUT:
ORIGINAL MATRIX
7 4 1 9 5
8 2 6 10 19
13 1 3 5 1
10 0 5 12 16
1 8 17 6 8
REARRANGED MATRIX
7 4 1 9 5
8 0 1 2 19
13 3 5 5 1
10 6 10 12 16
1 8 17 6 8
DIAGONAL ELEMENTS
7 5
0 2
5
6 12
1 8
SUM OF THE DIAGONAL ELEMENTS = 46
Example 3
INPUT:
M = 3
OUTPUT:
THE MATRIX SIZE IS OUT OF RANGE.
Java
Java Arrays
ICSE Prac 2016
31 Likes
Answer
import java.util.Scanner;
public class MatrixSort
{
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
System.out.print("ENTER MATRIX SIZE (M): ");
int m = in.nextInt();
if (m <= 3 || m >= 10) {
System.out.println("THE MATRIX SIZE IS OUT OF RANGE.");
return;
}
int a[][] = new int[m][m];
System.out.println("ENTER ELEMENTS OF MATRIX");
for (int i = 0; i < m; i++) {
System.out.println("ENTER ROW " + (i+1) + ":");
for (int j = 0; j < m; j++) {
a[i][j] = in.nextInt();
/*
* Only positive integers
* should be enetered
*/
if (a[i][j] < 0) {
System.out.println("INVALID INPUT");
return;
}
}
}
System.out.println("ORIGINAL MATRIX");
printMatrix(a, m);
sortNonBoundaryMatrix(a, m);
System.out.println("REARRANGED MATRIX");
printMatrix(a, m);
computePrintDiagonalSum(a, m);
}
public static void sortNonBoundaryMatrix(int a[][], int m) {
/*
* To sort non-boundary elements of Matrix
* copy the non-boundary elements in a
* single dimensional array. Sort the
* single dimensional array and assign the
* sorted elements back in the 2D array at
* their respective positions
*/
int b[] = new int[(m - 2) * (m - 2)];
int k = 0;
for (int i = 1; i < m - 1; i++) {
for (int j = 1; j < m - 1; j++) {
b[k++] = a[i][j];
}
}
for (int i = 0; i < k - 1; i++) {
for (int j = 0; j < k - i - 1; j++) {
if (b[j] > b[j + 1]) {
int t = b[j];
b[j] = b[j+1];
b[j+1] = t;
}
}
}
k = 0;
for (int i = 1; i < m - 1; i++) {
for (int j = 1; j < m - 1; j++) {
a[i][j] = b[k++];
}
}
}
public static void computePrintDiagonalSum(int a[][], int m) {
int sum = 0;
System.out.println("DIAGONAL ELEMENTS");
for (int i = 0; i < m; i++) {
for (int j = 0; j < m; j++) {
if (i == j || i + j == m - 1) {
sum += a[i][j];
System.out.print(a[i][j] + "\t");
}
else {
System.out.print("\t");
}
}
System.out.println();
}
System.out.println("SUM OF THE DIAGONAL ELEMENTS = " + sum);
}
public static void printMatrix(int a[][], int m) {
for (int i = 0; i < m; i++) {
for (int j = 0; j < m; j++) {
System.out.print(a[i][j] + "\t");
}
System.out.println();
}
}
}Output
![BlueJ output of Write a program to declare a square matrix A[][] of order (M × M) where 'M' must be greater than 3 and less than 10. Allow the user to input positive integers into this matrix. Perform the following tasks on the matrix: (a) Sort the non-boundary elements in ascending order using any standard sorting technique and rearrange them in the matrix. (b) Calculate the sum of both the diagonals. (c) Display the original matrix, rearranged matrix and only the diagonal elements of the rearranged matrix with their sum. Test your program for the following data and some random data: Example 1 INPUT: M = 4 9 2 1 5 8 13 8 4 15 6 3 11 7 12 23 8 OUTPUT: ORIGINAL MATRIX 9 2 1 5 8 13 8 4 15 6 3 11 7 12 23 8 REARRANGED MATRIX 9 2 1 5 8 3 6 4 15 8 13 11 7 12 23 8 DIAGONAL ELEMENTS 9 5 3 6 8 13 7 8 SUM OF THE DIAGONAL ELEMENTS = 59 Example 2 INPUT: M = 5 7 4 1 9 5 8 2 6 10 19 13 1 3 5 1 10 0 5 12 16 1 8 17 6 8 OUTPUT: ORIGINAL MATRIX 7 4 1 9 5 8 2 6 10 19 13 1 3 5 1 10 0 5 12 16 1 8 17 6 8 REARRANGED MATRIX 7 4 1 9 5 8 0 1 2 19 13 3 5 5 1 10 6 10 12 16 1 8 17 6 8 DIAGONAL ELEMENTS 7 5 0 2 5 6 12 1 8 SUM OF THE DIAGONAL ELEMENTS = 46 Example 3 INPUT: M = 3 OUTPUT: THE MATRIX SIZE IS OUT OF RANGE. BlueJ output of Write a program to declare a square matrix A[][] of order (M × M) where 'M' must be greater than 3 and less than 10. Allow the user to input positive integers into this matrix. Perform the following tasks on the matrix: (a) Sort the non-boundary elements in ascending order using any standard sorting technique and rearrange them in the matrix. (b) Calculate the sum of both the diagonals. (c) Display the original matrix, rearranged matrix and only the diagonal elements of the rearranged matrix with their sum. Test your program for the following data and some random data: Example 1 INPUT: M = 4 9 2 1 5 8 13 8 4 15 6 3 11 7 12 23 8 OUTPUT: ORIGINAL MATRIX 9 2 1 5 8 13 8 4 15 6 3 11 7 12 23 8 REARRANGED MATRIX 9 2 1 5 8 3 6 4 15 8 13 11 7 12 23 8 DIAGONAL ELEMENTS 9 5 3 6 8 13 7 8 SUM OF THE DIAGONAL ELEMENTS = 59 Example 2 INPUT: M = 5 7 4 1 9 5 8 2 6 10 19 13 1 3 5 1 10 0 5 12 16 1 8 17 6 8 OUTPUT: ORIGINAL MATRIX 7 4 1 9 5 8 2 6 10 19 13 1 3 5 1 10 0 5 12 16 1 8 17 6 8 REARRANGED MATRIX 7 4 1 9 5 8 0 1 2 19 13 3 5 5 1 10 6 10 12 16 1 8 17 6 8 DIAGONAL ELEMENTS 7 5 0 2 5 6 12 1 8 SUM OF THE DIAGONAL ELEMENTS = 46 Example 3 INPUT: M = 3 OUTPUT: THE MATRIX SIZE IS OUT OF RANGE.](https://cdn1.knowledgeboat.com/img/abp12/1/2016-40-p2-1.jpg)
![BlueJ output of Write a program to declare a square matrix A[][] of order (M × M) where 'M' must be greater than 3 and less than 10. Allow the user to input positive integers into this matrix. Perform the following tasks on the matrix: (a) Sort the non-boundary elements in ascending order using any standard sorting technique and rearrange them in the matrix. (b) Calculate the sum of both the diagonals. (c) Display the original matrix, rearranged matrix and only the diagonal elements of the rearranged matrix with their sum. Test your program for the following data and some random data: Example 1 INPUT: M = 4 9 2 1 5 8 13 8 4 15 6 3 11 7 12 23 8 OUTPUT: ORIGINAL MATRIX 9 2 1 5 8 13 8 4 15 6 3 11 7 12 23 8 REARRANGED MATRIX 9 2 1 5 8 3 6 4 15 8 13 11 7 12 23 8 DIAGONAL ELEMENTS 9 5 3 6 8 13 7 8 SUM OF THE DIAGONAL ELEMENTS = 59 Example 2 INPUT: M = 5 7 4 1 9 5 8 2 6 10 19 13 1 3 5 1 10 0 5 12 16 1 8 17 6 8 OUTPUT: ORIGINAL MATRIX 7 4 1 9 5 8 2 6 10 19 13 1 3 5 1 10 0 5 12 16 1 8 17 6 8 REARRANGED MATRIX 7 4 1 9 5 8 0 1 2 19 13 3 5 5 1 10 6 10 12 16 1 8 17 6 8 DIAGONAL ELEMENTS 7 5 0 2 5 6 12 1 8 SUM OF THE DIAGONAL ELEMENTS = 46 Example 3 INPUT: M = 3 OUTPUT: THE MATRIX SIZE IS OUT OF RANGE. BlueJ output of Write a program to declare a square matrix A[][] of order (M × M) where 'M' must be greater than 3 and less than 10. Allow the user to input positive integers into this matrix. Perform the following tasks on the matrix: (a) Sort the non-boundary elements in ascending order using any standard sorting technique and rearrange them in the matrix. (b) Calculate the sum of both the diagonals. (c) Display the original matrix, rearranged matrix and only the diagonal elements of the rearranged matrix with their sum. Test your program for the following data and some random data: Example 1 INPUT: M = 4 9 2 1 5 8 13 8 4 15 6 3 11 7 12 23 8 OUTPUT: ORIGINAL MATRIX 9 2 1 5 8 13 8 4 15 6 3 11 7 12 23 8 REARRANGED MATRIX 9 2 1 5 8 3 6 4 15 8 13 11 7 12 23 8 DIAGONAL ELEMENTS 9 5 3 6 8 13 7 8 SUM OF THE DIAGONAL ELEMENTS = 59 Example 2 INPUT: M = 5 7 4 1 9 5 8 2 6 10 19 13 1 3 5 1 10 0 5 12 16 1 8 17 6 8 OUTPUT: ORIGINAL MATRIX 7 4 1 9 5 8 2 6 10 19 13 1 3 5 1 10 0 5 12 16 1 8 17 6 8 REARRANGED MATRIX 7 4 1 9 5 8 0 1 2 19 13 3 5 5 1 10 6 10 12 16 1 8 17 6 8 DIAGONAL ELEMENTS 7 5 0 2 5 6 12 1 8 SUM OF THE DIAGONAL ELEMENTS = 46 Example 3 INPUT: M = 3 OUTPUT: THE MATRIX SIZE IS OUT OF RANGE.](https://cdn1.knowledgeboat.com/img/abp12/1/2016-40-p2-2.jpg)
![BlueJ output of Write a program to declare a square matrix A[][] of order (M × M) where 'M' must be greater than 3 and less than 10. Allow the user to input positive integers into this matrix. Perform the following tasks on the matrix: (a) Sort the non-boundary elements in ascending order using any standard sorting technique and rearrange them in the matrix. (b) Calculate the sum of both the diagonals. (c) Display the original matrix, rearranged matrix and only the diagonal elements of the rearranged matrix with their sum. Test your program for the following data and some random data: Example 1 INPUT: M = 4 9 2 1 5 8 13 8 4 15 6 3 11 7 12 23 8 OUTPUT: ORIGINAL MATRIX 9 2 1 5 8 13 8 4 15 6 3 11 7 12 23 8 REARRANGED MATRIX 9 2 1 5 8 3 6 4 15 8 13 11 7 12 23 8 DIAGONAL ELEMENTS 9 5 3 6 8 13 7 8 SUM OF THE DIAGONAL ELEMENTS = 59 Example 2 INPUT: M = 5 7 4 1 9 5 8 2 6 10 19 13 1 3 5 1 10 0 5 12 16 1 8 17 6 8 OUTPUT: ORIGINAL MATRIX 7 4 1 9 5 8 2 6 10 19 13 1 3 5 1 10 0 5 12 16 1 8 17 6 8 REARRANGED MATRIX 7 4 1 9 5 8 0 1 2 19 13 3 5 5 1 10 6 10 12 16 1 8 17 6 8 DIAGONAL ELEMENTS 7 5 0 2 5 6 12 1 8 SUM OF THE DIAGONAL ELEMENTS = 46 Example 3 INPUT: M = 3 OUTPUT: THE MATRIX SIZE IS OUT OF RANGE. BlueJ output of Write a program to declare a square matrix A[][] of order (M × M) where 'M' must be greater than 3 and less than 10. Allow the user to input positive integers into this matrix. Perform the following tasks on the matrix: (a) Sort the non-boundary elements in ascending order using any standard sorting technique and rearrange them in the matrix. (b) Calculate the sum of both the diagonals. (c) Display the original matrix, rearranged matrix and only the diagonal elements of the rearranged matrix with their sum. Test your program for the following data and some random data: Example 1 INPUT: M = 4 9 2 1 5 8 13 8 4 15 6 3 11 7 12 23 8 OUTPUT: ORIGINAL MATRIX 9 2 1 5 8 13 8 4 15 6 3 11 7 12 23 8 REARRANGED MATRIX 9 2 1 5 8 3 6 4 15 8 13 11 7 12 23 8 DIAGONAL ELEMENTS 9 5 3 6 8 13 7 8 SUM OF THE DIAGONAL ELEMENTS = 59 Example 2 INPUT: M = 5 7 4 1 9 5 8 2 6 10 19 13 1 3 5 1 10 0 5 12 16 1 8 17 6 8 OUTPUT: ORIGINAL MATRIX 7 4 1 9 5 8 2 6 10 19 13 1 3 5 1 10 0 5 12 16 1 8 17 6 8 REARRANGED MATRIX 7 4 1 9 5 8 0 1 2 19 13 3 5 5 1 10 6 10 12 16 1 8 17 6 8 DIAGONAL ELEMENTS 7 5 0 2 5 6 12 1 8 SUM OF THE DIAGONAL ELEMENTS = 46 Example 3 INPUT: M = 3 OUTPUT: THE MATRIX SIZE IS OUT OF RANGE.](https://cdn1.knowledgeboat.com/img/abp12/1/2016-40-p2-3.jpg)
Answered By
7 Likes
Related Questions
A single dimensional array has 50 elements, which of the following is the correct statement to initialize the last element to 100.
- x[51]=100
- x[48]=100
- x[49]=100
- x[50]=100
Define a class pin code and store the given pin codes in a single dimensional array. Sort these pin codes in ascending order using the Selection Sort technique only. Display the sorted array.
110061, 110001, 110029, 110023, 110055, 110006, 110019, 110033
What is the output of the Java code given below?
String color[] = {"Blue", "Red", "Violet"}; System.out.println(color[2].length());- 6
- 5
- 3
- 2
Define a class to accept values into 4x4 array and find and display the sum of each row.
Example:
A[][]={{1,2,3,4},{5,6,7,8},{1,3,5,7},{2,5,3,1}}
Output:
sum of row 1 = 10 (1+2+3+4) sum of row 2 = 26 (5+6+7+8) sum of row 3 = 16 (1+3+5+7) sum of row 4 = 11 (2+5+3+1)