- 0
- 0
- 约1.33千字
- 约 3页
- 2019-07-04 发布于天津
- 举报
上建造的集合目以作一集合使其能行集交集差集包含於等五算明本身有提供集合算但是言有故你作集合以利行集合算集合算符相同假均集合以下列符表示各算集做交集做差集做包含做於做了化集合元素需字元型集合部料可用字元列表示由於的字元有字元故可使用度的列表示一集合本必使用算子重即必重新定的算法假你的集合你的集合必能直接透算子行以下算宣告集合把和集的果放入把和交集的果放入入格式有好料第一列料每一料共有三列每一的第一列第二列每列至多字元分集合集合之元素第三列一字元欲是否在集合是否在集合之注意入的字元可能包含空白字元或
上機習題 #2 (建造C++的集合類別)
題目:以C++製作一個「集合」類別 (set class),使其能進行「聯集」、「交集」、「差集」、「包含」、「屬於」等五種運算。
說明:
Pascal本身有提供集合運算,但是C語言並沒有,故請你製作集合類別,以利進行集合運算。集合運算符號與Pascal相同。
假設A與B均為集合,則以下列符號表示各種運算:
A與B聯集 (union) 記做 A + BA與B交集 (intersection) 記做 A * BA與B差集 (difference) 記做 A - BA包含 (contain) B記做 A = B x屬於 (belong to) A記做 x in A
為了簡化設計,集合元素僅需為字元(char)型態。集合內部資料結構可用字元陣列(char array)來表示,由於廣義的字元(ASCII code)有256個字元,故可使用長度為256的陣列來表示一個集合。
本習題必須使用「運算子重載」(operator overloading, 即必須重新定義 +、–、*、= 的運算法則)。假設你的集合類別稱為TSet,你的集合必須能直接透過運算子進行以下運算:
TSet A, B, C, D; //宣告集合
C = A+B; //把 A和B聯集的結果放入C
D = A*B; //把 A和B交集的結果放入D
輸入格式:
有好幾組測試資料,
原创力文档

文档评论(0)