【程序功能】 将一个n阶方阵(n为偶数)分为四个n/2阶子方阵,然后将4个子方阵按顺时钟方向轮转一次.【编程要求】 1)编写函数void cycle(int a[][10],int m).函数功能:将a指向的数组中存储的n阶方
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 11:48:32
【程序功能】 将一个n阶方阵(n为偶数)分为四个n/2阶子方阵,然后将4个子方阵按顺时钟方向轮转一次.【编程要求】 1)编写函数void cycle(int a[][10],int m).函数功能:将a指向的数组中存储的n阶方
【程序功能】 将一个n阶方阵(n为偶数)分为四个n/2阶子方阵,然后将4个子方阵按顺时钟方向轮转一次.
【编程要求】
1)编写函数void cycle(int a[][10],int m).函数功能:将a指向的数组中存储的n阶方阵分成四个方阵(如上图所示),对矩阵做一次顺时钟轮转操作,轮转后的n阶方阵仍保存在a指向的数组中.
2)编写main().函数功能:声明一个10行10列二维数组,输入方阵阶数n(n≤10且为偶数),在二维数组中生成一个n阶方阵(数组元素的值按行顺序置为1-n2).用二维数组作实参调用cycle函数.将二维数组中存储的经过轮转操作后的方阵输出到屏幕.
【测试数据与运行结果】
输入: n=6
【程序功能】 将一个n阶方阵(n为偶数)分为四个n/2阶子方阵,然后将4个子方阵按顺时钟方向轮转一次.【编程要求】 1)编写函数void cycle(int a[][10],int m).函数功能:将a指向的数组中存储的n阶方
用象限的思维,没个数字都对应一个结点,设置图2中横竖线相交点为0点,然后每个数字结点有对应的x值和y值,比如图1中“1”的职位为“(-n/2,n/2)" .在转的时候,我们假设一个数字结点的为(x1,y1),首先确认是第几象限,然后根据象限给算法:比如第一象限(左上角那个象限),就用x2=x1+n/2; y2=y1,得到的x2和y2就是新的结点对应位置.
这么说你应该明白如何用程序做了吧?不明白私信我.