方陣 = square
陣列的階數= size (EX:3X3矩陣 矩陣SIZE=3)
垂直翻轉
EX:
Before:
1 2 3
4 5 6
7 8 9
After:
3 2 1
6 5 4
9 8 7
//垂直翻轉
void VerticalFlip(int *square,int size)
{
for(int i=0;i<(size/2);i++)
{
for(int j=0;j<size;j++)
{
swap(square[(size*j)+i],square[(size*(j+1))-i-1]);
}
}
}
水平翻轉
EX:
Before:
1 2 3
4 5 6
7 8 9
After:
7 8 9
4 5 6
1 2 3
//水平翻轉
void HorizontalFlip(int *square,int size)
{
for(int i=0;i<(size/2);i++)
{
for(int j=0;j<size;j++)
{
swap(square[(size*i)+j],square[(size*(size-1-i))+j]);
}
}
}
左斜翻轉
EX:
Before:
1 2 3
4 5 6
7 8 9
After:
1 4 7
2 5 8
3 6 9
//左對角線翻轉
void LeftDiagonalFlip(int *square,int size)
{
for(int i=(size-1);i>0;i--)
{
for(int j=1;j<=i;j++)
{
swap(square[size*(size-1-i)+(size-i+j-1)],square[(size-(i-j+1))*size+(size-i-1)]);
//std::cout<<"Hello"<<std::endl;
}
}
}
右斜翻轉
EX:
Before:
1 2 3
4 5 6
7 8 9
After:
9 6 3
8 5 2
7 4 1
//右對角線翻轉
void RightDiagonalFlip(int *square,int size)
{
for(int i=(size-1);i>0;i--)
{
for(int j=1;j<=i;j++)
{
swap(square[size*(size-i-1)+(j-1)],square[(size*size)-(size*(j-1))-(size-i)]);
}
}
}
留言列表