编程论坛
注册
登录
编程论坛
→
C++教室
请大家帮我编个这样的程序,有点难度,先谢谢大家了
aihaocc
发布于 2009-08-30 08:36, 514 次点击
http://file.
不能传图,只能链到这里来了。
[
本帖最后由 aihaocc 于 2009-8-30 08:38 编辑
]
2 回复
#2
xufen340
2009-08-31 21:21
你的问题也就是从上面24个选4个,然后再24各选3个+下面选一个。最后进行比较,找出相同的。关键算法就是怎么从几个里选几个,
我写了个从5个数字里面选4个的算法,你可以来解决这个问题。你可以利用来解决你的问题。另外就是我只会c++,就不用tc,我是用vc6写的。
#include<iostream>
using namespace std;
/*
从5个选4个是c5,4=5种排列,每组4个,所以b[20]定义为20,
你的24选4个,有c24,4=10626种,每组4个,所以b[42504]定义为42504.
*/
int a[5]={1,2,3,4,5};
int b[20];
int main()
{
int counti=0;
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
for(int x=0;x<5;x++){
for(int y=0;y<5;y++){
if((j>i)&&(y>x)&&(x>j)){
b[counti]=a[i];
counti++;
b[counti]=a[j];
counti++;
b[counti]=a[x];
counti++;
b[counti]=a[y];
counti++;
}
}
}
}
}
for(i=0;i<20;){
cout<<"("<<b[i];
i++;
cout<<","<<b[i];
i++;
cout<<","<<b[i];
i++;
cout<<","<<b[i]<<")"<<endl;
i++;
}
return 0;
}
#3
aihaocc
2009-09-03 05:47
好的,谢谢,非常感谢
1