Solved 2018 Practical Paper ISC Computer Science — Question 2
Back to all questionsQuestion 2
Write a program to declare a matrix a[][] of order (m × n) where 'm' is the number of rows and 'n' is the number of columns such that the values of both 'm' and 'n' must be greater than 2 and less than 10. Allow the user to input integers into this matrix. Perform the following tasks on the matrix:
- Display the original matrix.
- Sort each row of the matrix in ascending order using any standard sorting technique.
- Display the changed matrix after sorting each row.
Test your program for the following data and some random data:
Example 1
INPUT:
M = 4
N = 3
ENTER ELEMENTS OF MATRIX:
OUTPUT:
ORIGINAL MATRIX
MATRIX AFTER SORTING ROWS
Example 2
INPUT:
M = 3
N = 3
ENTER ELEMENTS OF MATRIX
OUTPUT:
ORIGINAL MATRIX
MATRIX AFTER SORTING ROWS
Example 3
INPUT:
M = 11
N = 5
OUTPUT:
MATRIX SIZE OUT OF RANGE.
Solution
import java.util.Scanner;
public class ArraySort
{
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
System.out.print("ENTER THE VALUE OF M: ");
int m = in.nextInt();
System.out.print("ENTER THE VALUE OF N: ");
int n = in.nextInt();
if (m <= 2
|| m >= 10
|| n <= 2
|| n >= 10) {
System.out.println("MATRIX SIZE OUT OF RANGE.");
return;
}
int a[][] = new int[m][n];
System.out.println("ENTER ELEMENTS OF MATRIX:");
for (int i = 0; i < m; i++) {
System.out.println("ENTER ELEMENTS OF ROW " + (i+1) + ":");
for (int j = 0; j < n; j++) {
a[i][j] = in.nextInt();
}
}
System.out.println("ORIGINAL MATRIX");
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
System.out.print(a[i][j] + " ");
}
System.out.println();
}
for (int i = 0; i < m; i++) {
for (int j = 0; j < n - 1; j++) {
for (int k = 0; k < n - j - 1; k++) {
if (a[i][k] > a[i][k + 1]) {
int t = a[i][k];
a[i][k] = a[i][k+1];
a[i][k+1] = t;
}
}
}
}
System.out.println("MATRIX AFTER SORTING ROWS");
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
System.out.print(a[i][j] + " ");
}
System.out.println();
}
}
}Output



import
java.util.Scanner
;
public
class
ArraySort
{
public
static
void
main
(
String
args
[]) {
Scanner
in
=
new
Scanner
(
System
.
in);
System
.
out
.
print(
"
ENTER THE VALUE OF M:
"
);
int
m
=
in
.
nextInt();
System
.
out
.
print(
"
ENTER THE VALUE OF N:
"
);
int
n
=
in
.
nextInt();
if
(m
<=
2
||
m
>=
10
||
n
<=
2
||
n
>=
10
) {
System
.
out
.
println(
"
MATRIX SIZE OUT OF RANGE.
"
);
return
;
}
int
a[][]
=
new
int
[m][n];
System
.
out
.
println(
"
ENTER ELEMENTS OF MATRIX:
"
);
for
(
int
i
=
0
; i
<
m; i
++
) {
System
.
out
.
println(
"
ENTER ELEMENTS OF ROW
"
+
(i
+
1
)
+
"
:
"
);
for
(
int
j
=
0
; j
<
n; j
++
) {
a[i][j]
=
in
.
nextInt();
}
}
System
.
out
.
println(
"
ORIGINAL MATRIX
"
);
for
(
int
i
=
0
; i
<
m; i
++
) {
for
(
int
j
=
0
; j
<
n; j
++
) {
System
.
out
.
print(a[i][j]
+
"
"
);
}
System
.
out
.
println();
}
for
(
int
i
=
0
; i
<
m; i
++
) {
for
(
int
j
=
0
; j
<
n
-
1
; j
++
) {
for
(
int
k
=
0
; k
<
n
-
j
-
1
; k
++
) {
if
(a[i][k]
>
a[i][k
+
1
]) {
int
t
=
a[i][k];
a[i][k]
=
a[i][k
+
1
];
a[i][k
+
1
]
=
t;
}
}
}
}
System
.
out
.
println(
"
MATRIX AFTER SORTING ROWS
"
);
for
(
int
i
=
0
; i
<
m; i
++
) {
for
(
int
j
=
0
; j
<
n; j
++
) {
System
.
out
.
print(a[i][j]
+
"
"
);
}
System
.
out
.
println();
}
}
}
Output