求助一道入门级C++题目1.设Δ是集合A上的二元运算,如果对于集合A中的任意元素a和b,都有aΔb=c,且c∈A,则称二

1个回答

  • #include

    using namespace std;

    class DATA

    {

    private:

    int *a;

    int n;

    public:

    DATA(int t[],int n);

    int belong(int x);

    void fun();

    void print();

    ~DATA();

    };

    DATA::DATA(int t[],int n)

    {

    this->n=n;

    a=new int[n];

    for(int i=0;i

    a[i]=t[i];

    }

    int DATA::belong(int x)

    {

    for(int i=0;i

    if(a[i]==x) return 1;

    return 0;

    }

    void DATA::fun()

    {

    for(int i=0;i

    for(int j=0;j

    {

    if(i!=j)

    {

    if(a[j]!=0)

    {

    if(!belong(a[i]%a[j]))

    {

    cout

    }//end if

    }//end if

    }//end if

    }//end for

    cout<}

    void DATA::print()

    {

    cout

    cout<

    cout<

    }

    DATA::~DATA()

    {

    delete [] a;

    }

    int main()

    {

    int d1[9]={1, 3, 22, 4, 15, 2, 7, 5, 0};

    int d2[8]={1, 3, 8, 4, 6, 7, 5, 0};

    DATA test1(d1,9),test2(d2,8);

    test1.print();

    test1.fun();

    test2.print();

    test2.fun();

    system("pause");

    }

    /* 我认为int belong(int a[ ], int n, int x) 那么多参数没必要,因为a和n都是成员,直接可以访问,不必作为参数传进来, 我只是测试了你的这一组数据,不知道是否正确

    最近比较无聊,答题当做复习了*/