我想用c++编写一个顺时针旋转90度的二维数组 但不知道怎么写 能不能给我讲一下
谢谢!
把二维数组看成是二维平面,元素看成是独立的点,然后这些点绕着中心点旋转得到新的坐标值。
如原来二维数组是3行4列:
const int row=3;
const int col=4;
void transformArray(int arrA[][col],int arrB[][row])
{
for(int r=0;r!=row;r++)
{
for(int c=0;c!=col;c++)
{
arrB[c][row-1-r]=arrA[r][c];
}
}
}
int main()
{
int arrayA[row][col]={
{1,2,3,4},
{5,6,7,8},
{9,10,11,12}
};
int arrayB[col][row]={0};
transformArray(arrayA,arrayB);
return 0;
}
要简单的。(mian)