【发布时间】:2020-12-13 09:01:16
【问题描述】:
所以我已经为这个例子苦苦挣扎了一个小时,我什至无法开始处理我应该如何做这个。
编写一个程序,对于给定的 n 和 m,形成所描述的矩阵。 矩阵应该是 m x m,并用它“螺旋”填充 从左上角开始。矩阵中的第一个值是 数 n。它一直重复到矩阵的“边缘”,在该“边缘”处 点数递增。在数字 9 变为 0 之后。0 ≤ n ≤ 9, 0 ≤ 米≤9
【问题讨论】:
-
你能先在纸上弄清楚怎么做吗?
-
天真的方法:我将从用于导航的
x=0、y=0、dx=1和dy=0值开始。继续填充n,直到达到y的限制,然后递增并“旋转”您的dx/dy对。首先用-1填充东西会有所帮助,这样您就可以检测以前填充的单元格和边缘。 -
我尝试通过在 CodeBlocks 中评论来解决这个问题,并试图找到行/列数字如何更改值的模式
-
更聪明的方法:线性计算,然后在显示时将其“打包”成螺旋形。要显示的位置有一个模式。在线性序列中,您会看到:
n-1x(n)、m-1x(n+1) % 10等。 -
这是有助于首先在纸上寻找模式的方法之一。
标签: arrays c multidimensional-array