#include<iostream>
#include<cstdlib>
using namespace std;
#define N 4
void swap(int *a,int *b,int n){
for(int i=0;i<n;i++){
int temp=a[i];
a[i]=b[i];
b[i]=temp;
}
}
void swapUpAndDown(int matrix[][N],int n){
int up=0,down=n-1;
while(up<=down){
swap(matrix[up],matrix[down],n);
up++;
down--;
}
}
void swapDiagonal(int matrix[][N],int n){
for(int r=0;r<n;r++){
for(int c=r+1;c<n;c++){
int temp=matrix[r][c];
matrix[r][c]=matrix[c][r];
matrix[c][r]=temp;
}
}
}
void rotate(int matrix[][N],int n){
swapUpAndDown(matrix, n);
swapDiagonal(matrix, n);
}
void print(int matrix[][N],int n){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cout<<matrix[i][j]<<" ";
}
cout<<" / ";
}
cout<<endl;
}
int main(){
int matrix[N][N]={{5,1,9,11},{2,4,8,10},{13,3,6,7},{15,14,12,16}};
rotate(matrix,N);
print(matrix,N);
return 0;
}
public void rotate(int[][] matrix) {
int length = matrix.length;
for (int i = 0; i < length / 2; i++)
for (int j = i; j < length - i - 1; j++) {
int temp = matrix[i][j];
int m = length - j - 1;
int n = length - i - 1;
matrix[i][j] = matrix[m][i];
matrix[m][i] = matrix[n][m];
matrix[n][m] = matrix[j][n];
matrix[j][n] = temp;
}
}
#include<iostream>
#include<cstring>
#include<cstdlib>
#define N 4
using namespace std;
void swap(int* a,int* b,int n)
{
for(int i=0;i<n;i++)
{
int temp=a[i];
a[i]=b[i];
b[i]=temp;
}
}
void swapUpAndDown(int matrix[][N],int n)
{
int up=0;
int down=n-1;
while(up<=down)
{
swap(matrix[up],matrix[down],n);
up++;
down--;
}
}
void swapDiagnal(int matrix[][N],int n)
{
for(int r=0;r<n;r++)
{
for(int c=r+1;c<n;c++)
{
int temp=matrix[r][c];
matrix[r][c]=matrix[c][r];
matrix[c][r]=temp;
}
}
}
void rotate(int matrix[][N],int n)
{
swapUpAndDown(matrix,n);
swapDiagnal(matrix,n);
}
void print(int matrix[][N],int n)
{
int i = 0;
switch(i)
{
case 0:
for(int j=0;j<n;j++)
{
cout<<matrix[0][j]<<'\t';
}
cout<<endl;
case 1:
for(int j=0;j<n;j++)
{
cout<<matrix[1][j]<<'\t';
}
cout<<endl;
case 2:
for(int j=0;j<n;j++)
{
cout<<matrix[2][j]<<'\t';
}
cout<<endl;
case 3:
for(int j=0;j<n;j++)
{
cout<<matrix[3][j]<<'\t';
}
break;
}
cout<<endl;
}
int main()
{
int matrix[N][N]={{5,1,9,11},{2,4,8,10},{13,3,5,7},{15,14,12,16}};
rotate(matrix,N);
print(matrix,N);
return 0;
}