0% found this document useful (0 votes)
37 views3 pages

Matrix Rotation

The document describes a program for rotating a 2x2 matrix by specified angles (90, 180, 270, 360 degrees) and includes operations for querying and updating elements. It provides input examples and outlines the code structure for performing these operations. The code utilizes nested loops to manipulate the matrix based on the given commands and prints the results accordingly.

Uploaded by

Manu123
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views3 pages

Matrix Rotation

The document describes a program for rotating a 2x2 matrix by specified angles (90, 180, 270, 360 degrees) and includes operations for querying and updating elements. It provides input examples and outlines the code structure for performing these operations. The code utilizes nested loops to manipulate the matrix based on the given commands and prints the results accordingly.

Uploaded by

Manu123
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

Matrix Rotation(imp)

Description:
*need to rotate matrix either 90,180,270,360
*int n,int arr1[ ] [ ]
*to rotate arr1 in clk wise direction in S degrees(s is angle of rotation)
*for this matrix 3 types of operations

1.rotate arr1 in angle s input:A S


2.query the element row k and column L input:Q K L
3.update row as X & col as Y iput:X Y Z

Input:
2 [1,2][3,4], "U116"

1 2
3 4 ===> 1 2
3 6

2 [1,2],[3,4] "A90"

1 2
3 4 ===> 3 1
4 2
2 [1,2],[3,4] "Q11"

1 2
3 4===> 4

Code:

int n,int arr1[ ][ ],char [ ]opt

int p,q,x,y;
int arr2[ ][ ]=new int[2][2];
int arr3[ ][ ]=new int[2][2];

String str=String.valueOf(opt);
int i,j;
int size=n;

for(p=0;p<2;p++)
{
for(q=0;q<2;q++)
{
arr3[p][q]=arr[p][q];
}
}
if(opt[0]=='A')
{
if(str.equals("A90")
{
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
arr2[j][n-i-1]=arr1[i][j];
}
}
for(p=0;p<2;p++)
{
for(q=0;q<2;q++)
{
System.out.print(" "+arr2[p][q]+" ");
}
system.out.print("\n");
}
}
}
else if(str.equals("A180")
{
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
arr2[j][n-i-1]=arr1[i][j];
}
}
for(p=0;p<2;p++)
{
for(q=0;q<2;q++)
{
System.out.print(" "+arr2[p][q]+" ");
}
system.out.print("\n");
}
}
}
if(str.equals("A270")
{
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
arr2[j][n-i-1]=arr1[i][j];
}
}
for(p=0;p<2;p++)
{
for(q=0;q<2;q++)
{
System.out.print(" "+arr2[p][q]+" ");
}
system.out.print("\n");
}
}
}
else
{
for(p=0;p<2;p++)
{
for(q=0;q<2;q++)
{
System.out.print(" "+arr2[p][q]+" ");
}
System.out.print("\n");
}
}
else if(opt[0]=='Q')
{
if(opt[1]<'2' && opt[2]<'2')
{
int val1=opt[1]-'0';
int val2=opt[2]-'0';
System.out.print(arr1[val1][val2]);
}
}
else if(opt[0]=='U')
{
if(opt[1]<'2' && opt[2]<'2')
{
arr1[opt[1]-'0'
System.out.print(arr1[val1][val2]);
}
}

You might also like