-
想法:考虑走完第一圈,分 4 个部分。
在第一段开始时记录 i0,j0,在 i0,j0,i1 描述的其他 3 段到达时记录 i1。
第二个及以后的圆的变化是 i0 = i0+1;i1=i1-1;j0=j.
总共 n 2 圈成功。
对于每个正方形,填写值 v=v+1,即 v 1 的初始值。
#include
void main()
int x[25][25];
int ii,jj,n = 6;
int v=1;
int i0,i1,j0,j;
printf("please enter n, n=3 to 25");
scanf("%d",&n);
i0=0; i1 = n -1;
for (j=0;j<=n/2;j++)
j0 = j;
for (ii=i0;ii<=i1;ii++)for (jj=j0+1;jj<=i1;jj++)for (ii=i1-1;ii >=i0;ii--)for (jj=i1-1;jj >=i0+1;jj--)i0 = i0+1;i1=i1-1;
for (jj=0;jj array[i]=x;i++;
-
这里你不清楚。
-
想了很久,没有想出来!
-
有很多方法可以做到这一点,但以下是如何填写,然后按每一侧的顺序输出:
#include
int main( )
if (n % 2 ==1)
for (i = 1; i <=n; +i)
-
这个螺旋矩阵是顺时针方向的。
你可以参考它。
#include
#define n 4
void main()
for(i=0;i
-
高度相当于n
宽度相当于 m
public class spiralmatrixmakerj--;
i++;y2--;
for (;i < x2; i++)
i--;j--;
x2--;s = -1;
elsej++;
i--;y1++;
for (;i >= x1 + 1; i--)i++;
j++;x1++;
s = 1;
if (m > height * width)}for (i = 0; i < height; i++)
-
关于螺旋矩阵有不同的陈述,但这里指的是形式。
的矩阵。 问题有两个方面:
1.以编程方式实现此矩阵的输出。
2.设点 1 的坐标为 (0,0),x 方向向右为正,y 方向向下为正。 例如:
7 的坐标是 (-1,-1),2 的坐标是 (0,1),3 的坐标是 (1,1)。编程实现任意点 (x,y) 的坐标输入并输出相应的数字。
1.我用模拟构建的第一个问题,我可以看到从 1 开始的方向变化始终是右>下>左>上,连续行走的长度是 1->1->2->2->3->3->发现这个规律后写**并不难!
请注意,下面我放置了 1 设置的位置。
在 ((n-1) 2, (n-1) 2)。
void simulate(int n)
data[x][y] =num++;
count++;
if(count ==2)
dir = direction)((dir + 1) %4);
2.第二个问题是先找出模式,然后进行模拟。
首先不难看出,n*n螺旋矩阵右下角的坐标一定是(m,m),其中m=n-1
通过观察可以看出,当n=1时,右下角(0,0)的值为1,当n=2时,右下角(1,1)的坐标值为(3,3),当n=3时,右下角的坐标值(2,2)为13我的直觉告诉我,这个值是关于 n 的二次函数,设 f(n) = a*n 2 + b*n + c
联立方程可以找到 a、b 和 c。 最终计算为 f(n) = 4*n 2 - 2*n + 1
接下来,根据(x,y)与右下角(n-1,n-1)的关系,可以计算出跳动年份的值。 这里需要注意的是,当 x 的值与 n-1 相同时,应优先考虑 y 是否与 -m 相关。 这就要求我们注意函数中x,y的顺序。
**如下:以(1,1)的位置为原点,右边为x正轴,向下为y正半轴。
int getvalue(int x, int y)
else if( y ==m)
else if(y ==m)
else if( x ==m )
return value;
-
#include
#include
void main()
int flag=n;其余矩阵的顺序控制循环。
int row=0,cloumn=0;行和列标记,初始计数为 0while(flag)。
else 是一个偶数,它为右上角的行和列分配一个值。
flag--;剩余矩阵的顺序。
printf("%d*%d 的矩阵为:",n,n);
i=n;while(i--)
printf("*
printf("");
for(i=0;ifor (i = 0; i < n; i++)free(p[i]);
free(p);
-
这是一样的。
如果它不是正方形,则通常称为 m*n 矩阵。
错。 理由如下(反证):
假设 n 阶方阵 A 经过一些基本变化后,最终成为 n 阶单位矩阵。 在等式中表示如下: >>>More