Write a program to declare a square matrix A[ ][ ] of order MxM where ‘M’ is the number of rows and the number of columns, such that M must be greater than 2 and less than 10. Accept the value of M as user input. Display an appropriate message for an invalid input. Allow the user to input integers into this matrix. Perform the following tasks:
(a) Display the original matrix.
(b) Rotate the matrix 90° clockwise as shown below:
(b) Rotate the matrix 90° clockwise as shown below:
(c) Find the sum of the elements of the four corners of the matrix.
Test your program for the following data and some random data:
Example 1
INPUT :
M = 3
OUTPUT :
ORIGINAL MATRIX
MATRIX AFTER ROTATION
Sum of the corner elements = 20
Example 2
INPUT :
M = 4
OUTPUT :
ORIGINAL MATRIX
MATRIX AFTER ROTATION
Sum of the corner elements = 18
Example 3
INPUT :M = 14
OUTPUT :SIZE OUT OF RANGE
Example 4
INPUT :M = 112
N = 130
N = 130
OUTPUT :INVALID INPUT
import
java.util.*;
class
Q2_ISC2015
{
public
static
void
main(String args[])
throws
Exception
{
Scanner sc=
new
Scanner(System.in);
System.out.print(
"Enter the size of the matrix : "
);
int
m=sc.nextInt();
if
(m<
3
|| m>
9
)
System.out.println(
"Size Out Of Range"
);
else
{
int
A[][]=
new
int
[m][m];
/* Inputting the matrix */
for
(
int
i=
0
;i<m;i++)
{
for
(
int
j=
0
;j<m;j++)
{
System.out.print(
"Enter an element : "
);
A[i][j]=sc.nextInt();
}
}
/* Printing the original matrix */
System.out.println(
"*************************"
);
System.out.println(
"The Original Matrix is : "
);
for
(
int
i=
0
;i<m;i++)
{
for
(
int
j=
0
;j<m;j++)
{
System.out.print(A[i][j]+
"\t"
);
}
System.out.println();
}
System.out.println(
"*************************"
);
/*Rotation of matrix begins here */
System.out.println(
"Matrix After Rotation is : "
);
for
(
int
i=
0
;i<m;i++)
{
for
(
int
j=m-
1
;j>=
0
;j--)
{
System.out.print(A[j][i]+
"\t"
);
}
System.out.println();
}
System.out.println(
"*************************"
);
int
sum = A[
0
][
0
]+A[
0
][m-
1
]+A[m-
1
][
0
]+A[m-
1
][m-
1
];
// Finding sum of corner elements
System.out.println(
"Sum of the corner elements = "
+sum);
}
}
}
Alternate Way (Creating a new Matrix for storing rotated matrix):
If you want, you can also save the rotated matrix in a separate array and then print it.
import
java.util.*;
class
Q2_ISC2015
{
public
static
void
main(String args[])
throws
Exception
{
Scanner sc=
new
Scanner(System.in);
System.out.print(
"Enter the size of the matrix : "
);
int
m=sc.nextInt();
if
(m<
3
|| m>
9
)
System.out.println(
"Size Out Of Range"
);
else
{
int
A[][]=
new
int
[m][m];
/* Inputting the matrix */
for
(
int
i=
0
;i<m;i++)
{
for
(
int
j=
0
;j<m;j++)
{
System.out.print(
"Enter an element : "
);
A[i][j]=sc.nextInt();
}
}
/* Printing the original matrix */
System.out.println(
"*************************"
);
System.out.println(
"The Original Matrix is : "
);
for
(
int
i=
0
;i<m;i++)
{
for
(
int
j=
0
;j<m;j++)
{
System.out.print(A[i][j]+
"\t"
);
}
System.out.println();
}
System.out.println(
"*************************"
);
int
B[][]=
new
int
[m][m];
int
x;
/*Rotation of matrix begins here */
for
(
int
i=
0
;i<m;i++)
{
x = m-
1
;
for
(
int
j=
0
;j<m;j++)
{
B[i][j]=A[x][i];
x--;
}
}
/* Printing the rotated matrix */
System.out.println(
"Matrix After Rotation is : "
);
for
(
int
i=
0
;i<m;i++)
{
for
(
int
j=
0
;j<m;j++)
{
System.out.print(B[i][j]+
"\t"
);
}
System.out.println();
}
System.out.println(
"*************************"
);
int
sum = A[
0
][
0
]+A[
0
][m-
1
]+A[m-
1
][
0
]+A[m-
1
][m-
1
];
// Finding sum of corner elements
System.out.println(
"Sum of the corner elements = "
+sum);
}
}
}
Output:
Enter the size of the matrix : 4
Enter an element : 1
Enter an element : 2
Enter an element : 4
Enter an element : 9
Enter an element : 2
Enter an element : 5
Enter an element : 8
Enter an element : 3
Enter an element : 1
Enter an element : 6
Enter an element : 7
Enter an element : 4
Enter an element : 3
Enter an element : 7
Enter an element : 6
Enter an element : 5
*************************
The Original Matrix is :
1 2 4 9
2 5 8 3
1 6 7 4
3 7 6 5
*************************
Matrix After Rotation is :
3 1 2 1
7 6 5 2
6 7 8 4
5 4 3 9
*************************
Sum of the corner elements = 18
No comments:
Post a Comment