以下是引用世界模型在2012-2-10 21:49:03的发言:
看错了 我以为是旋转矩阵
看错了 我以为是旋转矩阵
没错,就是旋转矩阵。

梅尚程荀
马谭杨奚
2012-02-10 21:49
2012-02-10 21:55

2012-02-10 22:09
程序代码:#include<stdio.h>
void rotate(int * a, int n)
{
int i, j, m, t, dd, d0, d1, d2, d3;
for(i = 0, m = n - 1; i < m; i++, m--)
for(j = i; j < m; j++)
{
dd = j - i;
d0 = i * n + j;
d1 = (m - dd) * n + i;
d2 = m * n + m - dd;
d3 = (i + dd) * n + m;
t = a[d0];
a[d0] = a[d1];
a[d1] = a[d2];
a[d2] = a[d3];
a[d3] = t;
}
}
void show(int * a, int n)
{
int i, j;
for(i = 0; i < n; i++, putchar('\n'))
for(j = 0; j < n; printf("%4d", a[i * n + j++]));
}
int main()
{
int a[100], i, j, n;
printf("Input Dimension length <= 100 : ");
scanf("%d", &n);
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
{
printf("Input data in postion(%d, %d) : ", i, j);
scanf("%d", &a[i * n + j]);
}
printf("The original array is:\n");
show(a, n);
printf("\nThe rotated array is:\n");
rotate(a, n);
show(a, n);
return 0;
}

2012-02-10 22:12
2012-02-10 22:17
2012-02-10 22:20
2012-02-10 22:21

2012-02-10 22:23
2012-02-10 22:27
2012-02-10 22:30