早教吧作业答案频道 -->其他-->
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++,请求帮助!谢谢~~编...的网友还看了以下:
把1-9个数字、分9个方格填写、横竖斜3个数字相加各得=15、问怎么填写? 2020-06-06 …
下表是小明同学在进行探究实验时的一些处理方法,请你把他这些操作中运用到的物理方法填写在表中对应的空 2020-07-11 …
现有下列物质:①铜②熔融氯化钠③氯化氢④CO2⑤NaHSO4固体⑥氨水按物质的分类方法填写表格的空 2020-07-13 …
99归元方阵填写数字1-93*31-164*41-255*51-366*6^^^^^^^^^^^^ 2020-07-18 …
分别计算下列个数的平方,并填写在横线上5的平方=2515的平方=1X10+5=100X1X2+25 2020-07-22 …
基础会计遇到的问题问题在根据题目写好会计分录之后,如何将它填写到总分类会计科目中啊.感觉其中的借方和 2020-11-07 …
现有人民币1元硬币10枚.假如实验室里有直尺、量筒和托盘天平等,请你设计一个测定密度的方案,并将你的 2020-11-08 …
现有31行67列表格一个,每个小格都只填1个数,从左上角开始,第一行依次为1,2,…67;第二行依次 2020-12-24 …
现有31行67列表格一个,每个小格都只填1个数,从左上角开始,第一行依次为1,2,…67;第二行依次 2020-12-24 …
现有31行67列表格一个,每个小格都只填1个数,从左上角开始,第一行依次为1,2,…67;第二行依次 2020-12-24 …