嘿,我想复制一个箭头矩阵到另一个矩阵,并旋转90度顺时针方向的箭头。我设法从指向3旋转到6,但当我试图再次旋转到9,它回到3。
我认为问题是我需要从最后开始先看完整个专栏,但不确定如何做
#include <stdio.h>
#include <string.h>
void DisplayArray2D(char arr[][7]);
void RotateArray2D(char arrRotated[][7], char arrOriginal[][7]);
void main() {
char arr[7][7] = {
{ '*',' ',' ',' ',' ',' ',' '},
{ '*','*',' ',' ',' ',' ',' '},
{ '*','*','*',' ',' ',' ',' '},
{ '*','*','*','*','*','*','*'},
{ '*','*','*',' ',' ',' ',' '},
{ '*','*',' ',' ',' ',' ',' '},
{ '*',' ',' ',' ',' ',' ',' '},
};
char arr6[7][7];
char arr9[7][7];
DisplayArray2D(arr);
RotateArray2D(arr6,arr);
DisplayArray2D(arr6);
RotateArray2D(arr9,arr6);
DisplayArray2D(arr9);
}
void DisplayArray2D(char arr[][7]){
for (int i = 0; i < 7; i++)
{
for (int j = 0; j < 7; j++)
{
printf("%c",arr[i][j]);
}
printf("\n");
}
}
void RotateArray2D(char arrRotated[][7], char arrOriginal[][7]){
for (int i = 0; i < 7; i++)
{
for (int j = 0; j < 7; j++)
{
arrRotated[j][i] = arrOriginal[i][j];
}
}
// DisplayArray2D(arrRotated);
}
1条答案
按热度按时间nbewdwxp1#
谢谢你们,你们的评论真的很有帮助。事实上,为了正确地旋转,我错过了函数中的[6-i]。