| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 920 人关注过本帖
标题:[求助]介绍个思想
只看楼主 加入收藏
kyq60802
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-5-20
收藏
 问题点数:0 回复次数:15 
[求助]介绍个思想
n=4
输出:
1 3 4 10
2 5 9 11
6 8 12 15
7 13 14 16
请问如何实现?
提供个思路
谢谢
搜索更多相关主题的帖子: 如何 
2007-05-21 22:34
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
没看出是个啥规律!

Fight  to win  or  die...
2007-05-21 23:16
谁与争疯
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:海南省
等 级:版主
威 望:191
帖 子:15071
专家分:17513
注 册:2007-4-22
收藏
得分:0 
你这不是耍我么。

论坛是我家灌水靠大家
2007-05-21 23:20
I喜欢c
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:64
帖 子:1749
专家分:0
注 册:2007-3-2
收藏
得分:0 
你知道这个矩阵的规律塞...

按着规律一部一部走...

 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-05-21 23:32
I喜欢c
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:64
帖 子:1749
专家分:0
注 册:2007-3-2
收藏
得分:0 

图片附件: 游客没有浏览图片的权限,请 登录注册



设个数,当为奇时 向右上, 为偶是 左下..(奇偶性个人设)

就这样塞....

不知道懂没

 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-05-21 23:40
谁与争疯
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:海南省
等 级:版主
威 望:191
帖 子:15071
专家分:17513
注 册:2007-4-22
收藏
得分:0 
高手一出,谁与争锋。
一语道破天机、我还以为楼主耍我,现在我总算是看明白题了。

但是、怎么样才能向上,向下走 来显示 呢?

论坛是我家灌水靠大家
2007-05-21 23:43
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
原来如此!

Fight  to win  or  die...
2007-05-22 07:35
七舍利
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-3-23
收藏
得分:0 

#include<iostream>
#include<iomanip>
using namespace std;
void main()//运行环境VC6.0++(测试通过)

{
const int N = 4;//由于本人还没有学动态数组,所以只能这样了,可以改下这个值:5,6,7……
int i = 0, j = 0;

int count = 1;
int Array[N][N];
bool up = true;

for (;i + j < 2*N - 2;) //控制数据的移动
{
if (count == 1)
{}
else
if (up)//上移
{
Array[i++][j--] = count++;
for (;i >= 0 && i < N - 1 && j > 0 && j < N - 1;)
{
Array[i++][j--] = count++;
}
}
else//下移
{
Array[i--][j++] = count++;
for (;i > 0 && i < N - 1 && j >= 0 && j < N - 1;)
{
Array[i--][j++] = count++;
}
}

if ((j == 0 && i != N - 1) || j == N - 1)//边缘情况
{
Array[i++][j] = count++;
up = !up;

}
else
{
Array[i][j++] = count++;
up = !up;
}
Array[i][j] = count;
}
for (i = 0;i < N;i++)//打印
{
for (j = 0;j < N;j++)
{
cout << setw(4) << Array[i][j];
}
cout << endl;
}

}

2007-05-22 11:38
七舍利
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-3-23
收藏
得分:0 
回复:(I喜欢c)[upload=bmp]UploadFile/2007-5/200...

并不是全部都是
偶上 奇下的

2007-05-22 12:31
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 

[CODE]#include <iostream>
using namespace std;
const int n = 4;
int main(){
int a[n][n];
int i = 0,j = 0,k = 1;
bool right_up = false;

while (k != n*n+1){
if (right_up){
for (;i >= 0 && j < n;--i,++j)
a[i][j] = k++;
right_up = false;
j == n ? --j,i+=2 : ++i;
}
else{
for (;j >= 0 && i < n;++i,--j)
a[i][j] = k++;
right_up = true;
i == n ? --i,j+=2 : ++j;
}
}
//display :
for (int i = 0;i < n;++i){
for (int j = 0;j < n;++j)
cout << a[i][j] << " ";
cout << endl;
}
system("pause");
}[/CODE]

写了哈!


[此贴子已经被作者于2007-5-22 13:29:58编辑过]


Fight  to win  or  die...
2007-05-22 13:21
快速回复:[求助]介绍个思想
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029322 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved