菜鸟求算法

程先森 2010-07-06 08:57:53
1 2 6 7
3 5 8 13
4 9 12 14
10 11 15 16
如何控制把这些数字显示出来?
...全文
63 点赞 收藏 4
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
michael122 2010-07-06
这句写错了

else a[k-i][i]=num++;
回复
michael122 2010-07-06
就是按照蛇形的填数嘛
伪代码:

#define N 4

int a[N][N];
int i, j, k, num=1;
bool down=false;

for(k=0; k<2*N-1; k++){
j=k>N-1 ? N-1:k;
for(i=k-j; i<=j; i++){
if (down) a[i][k-i]=num++;
else a[k-1][i]=num++;
}
down=!down;
}





回复
程先森 2010-07-06
怎么没高手帮帮我啊。
回复
程先森 2010-07-06
第一行应该和下面三行是对称的。
回复
发动态
发帖子
数据结构与算法
创建于2007-08-27

3.2w+

社区成员

数据结构与算法相关内容讨论专区
申请成为版主
社区公告
暂无公告