社区
C++ 语言
帖子详情
在线请教:一道简单的C++矩阵编程题目。
lingyun2003
2005-08-19 09:15:47
苦思半天,可能思路不对,特请教大家详细的代码示例:
用C++编程生成输出一个如下的矩阵:它满足的条件是:让它的每一行无素之和,每一列元素之和,
以及两对角线之和都相等。
谢谢!
...全文
557
12
打赏
收藏
在线请教:一道简单的C++矩阵编程题目。
苦思半天,可能思路不对,特请教大家详细的代码示例: 用C++编程生成输出一个如下的矩阵:它满足的条件是:让它的每一行无素之和,每一列元素之和, 以及两对角线之和都相等。 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xukexuan5
2010-06-24
打赏
举报
回复
bu dong wo bu zhi dao zen me jie
xiaocai0001
2005-08-23
打赏
举报
回复
今天在CSDN上看到的解法
具体看下面帖
http://community.csdn.net/Expert/topic/4007/4007277.xml?temp=.8199732
[以下转帖]
1)、当n为奇数时:采用连续斜行赋值法。首先把数1定在正中的下一格,数2定在1的斜行右下格,依此类推。即一般数i定在数i-1的斜行右下格(行数x列数y均增1)。直至当数i为n的倍数时,定在上一个数i-1格正下方的第2格(行数x增2,列数y不变)。按上述操作,格的位置(x,y)若超出n行n列的范围,按模n定位。即若出现x>n,则定在第x-n行;出现y>n,则定在第y-n列。
2)、当n为4的倍数时:采用对称元素交换法。首先把数n×n-1按行从上至下,奇数行从左至右,偶数行从右至左顺序填人方阵的n×n格。然后,把方阵的所有4×4子方阵中的两对角线上位置(即(i-j) mod 4=0||(i+j-1) mod 4=0,其中i为行号,j为列号)上的数固定下来不动;所有其它位置上的数关于方阵中心作对称交换,也就是把元素a(i,j)与元素a(n+1-i,n+1-j)的值交换。
3)、当n为非4倍数的偶数(即4m+2形)时:首先把大方阵分解为4个奇数(2m+1阶)子方阵。上述奇数阶魔方给分解的4个子方阵对应赋值,上左子方最小(i),下右子次小(i+v),下左子方最大(i+3v),上右子方次大(i+2v),即4个子方阵对应元素相差v,其中v=n*n/4,然后作相应的元素交换:
a(i,j)与a(i+u,j)在同一列做对应交换(j<t或j>n-t+2)
a(t,1)与a(t+u,1);a(t,t)与a(t+u,t)两对元素交换
其中u=n/2,t=(n+2)/4
上述交换使每行每列与两对角线上元素之和相等。
xiaocai0001
2005-08-21
打赏
举报
回复
嘿嘿~~
代码没有~
奇数阶的知道怎么填
偶数阶和双偶数阶的忘了
lingyun2003
2005-08-21
打赏
举报
回复
谢谢楼上的,没有代码吗?
xiaocai0001
2005-08-20
打赏
举报
回复
这个有固定算法的
奇数阶、偶数阶、双偶数阶是不同的。
下面这个是5阶的,行列对角线和为65
-----------------
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
7阶的:
--------------------
30 39 48 1 10 19 28
38 47 7 9 18 27 29
46 6 8 17 26 35 37
5 14 16 25 34 36 45
13 15 24 33 42 44 4
21 23 32 41 43 3 12
22 31 40 49 2 11 20
sunden
2005-08-20
打赏
举报
回复
这是一个算法题哈,放这边可能不太合适.3*3的到是有中国古代的九宫图的现成方法.不过不是算法,大于三的算是到是不知道,不过N不大时,穷举比想算法简单哈!
PS:楼主用的不仅是是五笔输入法,而且用得不怎么样.
raynors
2005-08-20
打赏
举报
回复
这是个数学问题N>2都有通解 如果是求所有解 我想只有穷举了
JOHE2003
2005-08-20
打赏
举报
回复
我首先认为把这个矩阵设成一个对角矩阵比较好想一些。。。。。。暂时就这么多。。。等待,,,,
lingyun2003
2005-08-20
打赏
举报
回复
不好意思,正式楼上说的,3*3阶矩阵,它满足的条件是:让它的每一行无素之和,每一列元素之和,
以及两对角线之和都相等 请问如何实现呢? 谢谢
kv4000
2005-08-19
打赏
举报
回复
他的意思应该是:3*3阶矩阵 我认为 就是楼上说的
xiaocai0001
2005-08-19
打赏
举报
回复
首先应该说明它是个方阵,其次还要给出矩阵中所埴的数的限制
楼主是不是说
像这样的题1-9填入3×3矩阵,使得让它的每一行元素之和,每一列元素之和,以及两对角线之和都相等?
------------
话外:楼主用的是五笔输入法~~~
mituzhishi
2005-08-19
打赏
举报
回复
这明明是一个数学题目。
数组元素都为 N 的数组肯定行。(N为实数)
C/
C++
FPS实战
矩阵
方框透视骨骼自瞄实战教程
重点在于游戏数据逆向分析 实战带领大家掌握FPS类游戏的数据分析方法,方框透视 骨骼自瞄
矩阵
等等 实现原理和方法 并且通过代码实战演示,每个细节都讲解到位 咱们博客:https://blog.csdn.net/icanda10ge
每日一练
c++
题
目
日刊 | 第十二期
一日两更或三更,这里面都是自创题
目
或改变题
目
,附带答案和详细的讲解,曾经是周刊,已于2022-12-27改为日刊
C++
笔试题
目
大全
c++
c++
c++
c++
笔试题汇总 ① 链表反转 单向链表的反转是一个经常被问到的一个面试题,也是一个非常基础的问题。比如一个链表是 这 样的: 1->2->3->4->5 通过反转后成为 5->4->3->2->1 。 最容易想到的方法...
C/
C++
面试题
目
汇总
C/
C++
面试题
目
汇总 最近因为找工作,收集了很多C语言方面方面的面试题以及答案。现在新工作搞定了,决定把这些资料发出来,送给有需要的朋友,免得再象我一样到处搜寻,实在辛苦。 发布之前先申明两点: 1 ...
矩阵
和特征值的本质
理解
矩阵
和特征向量的本质 原文地址 最近复习
矩阵
论中,又是一堆定理和证明突然发现学了这么常时间的
矩阵
论、线性代数,记住的只是一堆莫名其妙的定理而已,一些本质的东西都没有搞清楚。 比如...
C++ 语言
64,637
社区成员
250,559
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章