标题:排列问题的实现错误
只看楼主
diaoxue
Rank: 1
等 级:新手上路
帖 子:142
专家分:0
注 册:2007-6-1
 问题点数:0 回复次数:6 
排列问题的实现错误

#include<iostream.h>
void Swap(int & a,int & b);
void Perm(int list[],int k,int m);
int main()
{
int list[10]={1,5,4,8,2,36,14,27,7,41};
int k=0;
int m=9;
Perm(list,k,m);
return 0;
}
inline void Swap(int &a,int &b)
{
int temp=a;
a=b;
b=temp;
}
void Perm(int list[],int k,int m)
{
int j;
if(k==m)
{
for(int i=0;i<=m;i++)
cout<<list[i];
cout<<endl;
}
else
for(int i=k;i<=m;i++)
{
Swap(list[k],list[j]);
Perm(list,k+1,m);
Swap(list[k],list[i]);
}
}
怎么一运行就出错呢 ,编译、连接没错

搜索更多相关主题的帖子: 排列 
2007-10-22 23:42
eagleboycn
Rank: 1
等 级:新手上路
帖 子:191
专家分:0
注 册:2007-9-26
得分:0 
以下是引用diaoxue在2007-10-22 23:42:44的发言:

。。。。。
else
for(int i=k;i<=m;i++)
{
Swap(list[k],list[j]);
Perm(list,k+1,m);
Swap(list[k],list[i]);
}

这一段似乎不对


兵法的精要在于韬晦自己
2007-10-23 07:48
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
狂晕,把i 写成j 了.
仔细点啦.

倚天照海花无数,流水高山心自知。
2007-10-23 12:54
六道
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2007-9-28
得分:0 
无限循环了~

★孤独的人是可耻的★
2007-10-23 13:53
diaoxue
Rank: 1
等 级:新手上路
帖 子:142
专家分:0
注 册:2007-6-1
得分:0 

谢谢大家
改了后一直运行啊


上善若水,水善利万物而不争,处众人之所恶
2007-10-23 15:57
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 

因为你的数太多了,所以运行的比较长时间.
你把数改小点看下.

倚天照海花无数,流水高山心自知。
2007-10-23 18:43
diaoxue
Rank: 1
等 级:新手上路
帖 子:142
专家分:0
注 册:2007-6-1
得分:0 
搞定
多谢大家
非常感谢爱龙的那BZ

上善若水,水善利万物而不争,处众人之所恶
2007-10-23 21:24



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-179936-1-1.html




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

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