小时候有一道矩阵题,忘了原来是怎么解的了,有空看看,多回顾也不是坏事啊!

xhggg 2003-09-29 05:07:52
输入一个整数N:
如:5
结果:
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
...全文
33 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
playboyxp 2003-09-29
  • 打赏
  • 举报
回复
什么题目?
RainWindy 2003-09-29
  • 打赏
  • 举报
回复
明天再来看!
fireseed 2003-09-29
  • 打赏
  • 举报
回复
运行结果:

请输入矩阵的边长(大于2):8
1 2 3 4 5 6 7 8
28 29 30 31 32 33 34 9
27 48 49 50 51 52 35 10
26 47 60 61 62 53 36 11
25 46 59 64 63 54 37 12
24 45 58 57 56 55 38 13
23 44 43 42 41 40 39 14
22 21 20 19 18 17 16 15
请按任意键继续 . . .

fireseed 2003-09-29
  • 打赏
  • 举报
回复
/* 以下代码在VC.net环境下编译通过,并正常运行 */
/* Creamdog保留所有权力 */

#include <iostream>
using namespace std;

void main( void )
{
int nSize, nCurNumber = 0;
do
{
cout << "请输入矩阵的边长(大于2):";
cin >> nSize;
} while( nSize < 2 );

int *pMatrix = new int[nSize * nSize];
for ( int i = 0; i < nSize - 1; i++ )
{
for ( int j = i; j < nSize - i - 1; j++ )
pMatrix[ i * nSize + j ] = ++nCurNumber;
for ( int j = i; j < nSize - i - 1; j++ )
pMatrix[ j * nSize + ( nSize - i - 1 ) ] = ++nCurNumber;
for ( int j = i; j < nSize - i - 1; j++ )
pMatrix[ ( nSize - i - 1 ) * nSize + ( nSize - j - 1 ) ] = ++nCurNumber;
for ( int j = i; j < nSize - i - 1; j++ )
pMatrix[ ( nSize - j - 1 ) * nSize + i ] = ++nCurNumber;
}
if ( nSize % 2 != 0 )
{
int nCenter = nSize / 2;
pMatrix[ nCenter * nSize + nCenter ] = ++nCurNumber;
}
for ( int i = 0; i < nSize; i++ )
{
for ( int j = 0; j < nSize; j++ )
cout << pMatrix[ i * nSize + j ] << "\t";
cout << endl;
}
system( "pause" );
}
kbsoft 2003-09-29
  • 打赏
  • 举报
回复
蛇形巨阵啊
xhggg 2003-09-29
  • 打赏
  • 举报
回复
哈哈!算法很有意思啊,没想到一道题还能用在游戏中,自豪,其实我小时候就不是我一个人解出来的:)嘻嘻。
这个是我老师在94年出的题。当时觉得真的很难,真的没用,不如用mfoxplus写些小东西。
不说了,回家。
lyr311 2003-09-29
  • 打赏
  • 举报
回复
呵呵,我曾经问过这个问题,螺旋矩阵哦,有两个比较好的解法,我认为,一个是递归,一个是利用方向矩阵枚举(有个兄台 sakurar(人脑修理工) 给出的程序很巧妙,听说是游戏中的在地图中向周围搜索空格的算法),我当时问的是内旋的,你的是外旋的,只要修改方向矩阵就能够达到你的要求,去看看我的帖子吧:
http://expert.csdn.net/Expert/topic/2243/2243826.xml?temp=.481518
hslinux 2003-09-29
  • 打赏
  • 举报
回复
干吗啊?要算法要代码就直说啊~~~~~~~~~~~~:)

pascal语言程序设计里的题。

69,364

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧