问题标题:
求助一道入门级C++题目1.设Δ是集合A上的二元运算,如果对于集合A中的任意元素a和b,都有aΔb=c,且c∈A,则称二元运算Δ对于集合A是封闭的.现有一数组a,假定其数组元素构成集合A.试建立一个类DAT
问题描述:

求助一道入门级C++题目

1.设Δ是集合A上的二元运算,如果对于集合A中的任意元素a和b,都有aΔb=c,且c∈A,则称二元运算Δ对于集合A是封闭的.现有一数组a,假定其数组元素构成集合A.试建立一个类DATA,判断求余运算“%”对集合A是否封闭.即判断数组中的任意两个元素a[i]和a[j],当a[j]不等于0时,a[i]除以a[j]所得余数仍然属于集合A.具体要求如下:

(1)私有数据成员

lint*a;整数指针,指向动态分配的数组空间

lintn;数组中元素个数

(2)公有成员函数

lDATA(intt[],intn1);构造函数,用n1初始化n,并根据n动态生成数组a,用t数组对a数组初始化.

lintbelong(inta[],intn,intx);判断x的值是否在数组a中,如果在返回1,否则返回0.

lvoidfun();判断求余运算%对本对象是否封闭,如果封闭,输出“封闭”.如果不封闭,则输出“不封闭”,同时输出第一个不满足条件的a[i]和a[j].

lvoidprint();输出成员数据的值.

lDATA();析构函数,完成必要的功能.

(3)在主函数中对该类进行测试.先定义两个整型数组d1和d2,分别具有9个元素和8个元素,两个数组的值分别是{1,3,22,4,15,2,7,5,0}和{1,3,8,4,6,7,5,0}.然后用这两个数组初始化两个DATA类的对象test1和test2,测试并输出结果.正确的运行结果如下:

集合:13224152750

封闭

集合:13846750

不封闭:83

蔡玉华回答:
  #include <iostream>using namespace std;class DATA{ private: int *a; ...
查看更多
其它推荐
热门其它推荐