注册 登录
编程论坛 C++教室

怎么没有输出啊

diaoxue 发布于 2007-10-25 09:31, 1040 次点击
我实现的循环赛问题的程序,没有出错,怎么没有输出啊
#include<iostream.h>
#define N 8
void Table(int k,int a[][N]);
int main()
{
int k=3;
int a[][8]={0};
Table(k,a);
for(int i=0;i<8;i++)
for(int j=0;j<8;j++)
cout<<a[i][j]<<" ";
cout<<endl;
return 0;
}
void Table(int k,int a[][N])
{
int n=1;
for(int i=1;i<=k;i++)
n*=2;
for(i=1;i<=n;i++)
a[1][i]=i;
int m=1;
for(int s=1;s<=k;s++)
{
n/=2;
for(int t=1;t<=n;t++)
for(i=m+1;i<=2*m;i++)
for(int j=m+1;j<=2*m;j++)
{
a[i][j+(t-1)*m*2] = a[i-m][j+(t-1)*m*2-m];
a[i][j+(t-1)*m*2-m] = a[i-m][j+(t-1)*m*2];
}
m*=2;
}
}
10 回复
#2
diaoxue2007-10-26 23:13

不至于这样吧
我天天看都没人回复啊
哪位懂算法、语言又学的好的强人帮忙看看啊
在此拜谢了

#3
eagleboycn2007-10-27 04:55
看不明白
不过好像有些数组下标超线了
#4
cince2007-10-27 13:29

不加using namespace std;

编译能通过??

#5
lishuqiao2007-10-27 15:05
有.h不有using namespace std,你是看的C++ Primer吧?
#6
TLZL2007-10-27 15:09

算法里多少加一些注释啊 那么多行代码,没有注释怎么看呢?

#7
diaoxue2007-11-10 16:57
a[i][j+(t-1)*m*2] = a[i-m][j+(t-1)*m*2-m];
a[i][j+(t-1)*m*2-m] = a[i-m][j+(t-1)*m*2];
什么意思啊
能解释下吗
#8
拉风2007-11-10 19:12
加点注释或者是把题目给出来啊,人家帮你看还要帮你弄清楚你的代码是干什么的啊,我晕!!
#9
孤魂居士2007-11-11 00:02
以下是引用cince在2007-10-27 13:29:16的发言:

不加using namespace std;

编译能通过??

cince 兄弟 你是不是太辛苦了 眼睛没有看见那个.h哦 嘿嘿 记得休息 不要泡的太晚哦

#10
jiruanl0622007-11-11 10:51

看不明白 起码得加些注释吧

#11
diaoxue2007-11-11 10:59
以下是引用拉风在2007-11-10 19:12:13的发言:
加点注释或者是把题目给出来啊,人家帮你看还要帮你弄清楚你的代码是干什么的啊,我晕!!

n=2的k次幂个运动员进行比赛
1.每个选手必须与其他n-1个选手各赛一次
2.每个选手一天赛一次
3.比赛进行n-1天


我不懂循环中的两行算法,帮忙看下 谢谢了

1