早教吧作业答案频道 -->其他-->
C++,请求帮助!谢谢~~编写函数,给奇数阶幻方矩阵赋值.N阶幻方阵是指在N×N方阵中填充1~N2这N2个不同的数,使方阵的每一行,每一列和对角线上元素之和均相等.在主函数中设计一个循环,从键盘输
题目详情
C++,请求帮助!谢谢~~
编写函数,给奇数阶幻方矩阵赋值.N阶幻方阵是指在N×N方阵中填充1~N2这N2个不同的数,使方阵的每一行,每一列和对角线上元素之和均相等.在主函数中设计一个循环,从键盘输入的幻方阵阶数N,如果输入N为偶数,提示错误,重新输入.当输入为0时,循环结束,同时整个程序结束.如果N为奇数,则动态定义二维数组,调用函数magic求幻方阵,并在主函数中编写函数print输出幻方矩阵,编写并调用函数checking验证你求得的矩阵是否满足幻方矩阵的定义.例如:
输入:3
输出:
8 1 6
3 5 7
4 9 2
幻方通过了验证.
输入:5
输出:
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
幻方通过了验证.
提示:魔方阵的赋值规律如下:(a)将1放在第一行最中间的列;(b)从2开始直到N2为止的各数填在前一个数的右上方;(c)如果该位置超出最上行,则改填在最下行的对应列的位置;(d)如果该位置超出最右列,则改填在最左列的对应行的位置;(e)如果该位置既超出最上行又超出最右列,则改填在前一个数的下面;(f)如果右上角的位置上已经填了其他数据,则改填在前一个数的下面.
编写函数,给奇数阶幻方矩阵赋值.N阶幻方阵是指在N×N方阵中填充1~N2这N2个不同的数,使方阵的每一行,每一列和对角线上元素之和均相等.在主函数中设计一个循环,从键盘输入的幻方阵阶数N,如果输入N为偶数,提示错误,重新输入.当输入为0时,循环结束,同时整个程序结束.如果N为奇数,则动态定义二维数组,调用函数magic求幻方阵,并在主函数中编写函数print输出幻方矩阵,编写并调用函数checking验证你求得的矩阵是否满足幻方矩阵的定义.例如:
输入:3
输出:
8 1 6
3 5 7
4 9 2
幻方通过了验证.
输入:5
输出:
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
幻方通过了验证.
提示:魔方阵的赋值规律如下:(a)将1放在第一行最中间的列;(b)从2开始直到N2为止的各数填在前一个数的右上方;(c)如果该位置超出最上行,则改填在最下行的对应列的位置;(d)如果该位置超出最右列,则改填在最左列的对应行的位置;(e)如果该位置既超出最上行又超出最右列,则改填在前一个数的下面;(f)如果右上角的位置上已经填了其他数据,则改填在前一个数的下面.
▼优质解答
答案和解析
代码如下 .内容比较简单,计算过程就是你给的过程,所以不写注释了.看不懂了再问.#include#includeusing namespace std;void magic(int** magicArray, int size){ int lastRow = 0; int lastCol = size / 2; ...
看了 C++,请求帮助!谢谢~~编...的网友还看了以下:
excel中根据某列的值选择函数中的标准值比如如果A列中的值≥20的,则要求B、C、D、E列值分别 2020-05-13 …
excel中如何把两列数字合并在一列里例如 A列为 123 ,B 列为 4001 ,要合并为 12 2020-05-16 …
excelA列是气象站点名,B列是年份,c列是气温值,想用SLOPE函数求同一个站点的气温趋势值B 2020-06-05 …
(2010•徐汇区二模)设数列{an}(n=1,2,…)是等差数列,且公差为d,若数列{an}中任 2020-07-08 …
两个不收敛数列之差可不可能收敛?有一个数列,包含正项和负项,现要证明其收敛.若能找到另一个收敛数列 2020-07-31 …
下列结论不正确的是[]A.根据通项公式可以写出数列中的任何一项B.根据递推公式可以求出数列中的任何 2020-08-01 …
excel表中有N列数据,其中A、B两列有相同项。如何找出两列中的相同项,并相对应的排列。且A列顺序 2020-11-01 …
下面是同行不同列中的“信息”J列K列L列M列N列0缺勤00用什么函数公式查找出“缺勤”并放在J列?问 2020-12-15 …
计算机打印队列管理在打印队列管理中,对正在打印的作业——a.不能将其删除b.不能改变其在打印队列中的 2020-12-24 …
我想列出EXCEL中某列A中某部分(连续的几项,但其中有重复的!)到另一列,但要求在这新列中没有有重 2021-01-01 …