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

请大家帮我编个这样的程序,有点难度,先谢谢大家了

aihaocc 发布于 2009-08-30 08:36, 514 次点击
http://file.
不能传图,只能链到这里来了。

[ 本帖最后由 aihaocc 于 2009-8-30 08:38 编辑 ]
2 回复
#2
xufen3402009-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
aihaocc2009-09-03 05:47
好的,谢谢,非常感谢
1