怎么用c++把一个二维数组顺时针旋转90度

我想用c++编写一个顺时针旋转90度的二维数组 但不知道怎么写 能不能给我讲一下
谢谢!

把二维数组看成是二维平面,元素看成是独立的点,然后这些点绕着中心点旋转得到新的坐标值。

如原来二维数组是3行4列:

img

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)