想当仙芋 2021-12-24 14:07 采纳率: 50%
浏览 45

报错显示没有与这些操作数匹配的"[]"运算符,操作数类型为:int_set[int]

#include#include#includeusing namespace std;class int_set {public: void getmaxsize(int n) { //获取最大整数个数 max_size = n; } static int getcur_size() { return cur_size; } //显示元素个数 //输入集合 //输出集合 void add(int n); //增加一个整数到集合中 void ban(int n); //从集合中去掉一个元素 bool check(int n); //判断一个元素是否在集合中 void same(int_set a, int_set b); //交运算 void all(int_set a, int_set b); //并运算 void different(int_set a, int_set b); //差运算private: static int cur_size; int max_size; vectora[max_size];};void int_set::add(int n) { //增加一个整数到集合中 if (cur_size++ <= max_size) { int i; for (i = 0; i < cur_size; i++) { if (a[i] == n)break; } if (i == cur_size) { cur_size++; a[cur_size] = n; } } else cout << "数组已满" << endl;}void int_set::ban(int n) { //从集合中去掉一个元素 int i; for (i = 0; i < cur_size; i++) { if (a[i] == n) { for (int p = i; p < cur_size - 1; p++) { a[p] = a[p + 1]; } break; } }}bool int_set::check(int n) { //判断一个元素是否在集合中 int i; for (i = 0; i < cur_size; i++) { if (a[i] == n) { return true; break; } } if (i == cur_size)return false;}void int_set::same(int_set a, int_set b) { //交运算 int_set c; int i, j; if (a.cur_size > b.cur_size)c.max_size = a.cur_size; else c.max_size = b.cur_size; for (i = 0; i < a.cur_size; i++) { for (j = 0; j < b.cur_size; j++) { if (a[i] == b.cur_size->b[j]) { c.add(a[i]); break; } } }}void int_set::all(int_set a, int_set b) { //并运算 int_set c; int i, j; c.max_size = a.cur_size + b.cur_size; for (i = 0; i < a.cur_size; i++) { c.add(a[i]); for (j = 0; j < b.cur_size; j++) { if (a[j] == b[i]) break; } if (j == b.cur_size)c.add(b[i]); }}void int_set::different(int_set a, int_set b) { //差运算 int_set c; int i, j; if (a.cur_size > b.cur_size)c.max_size = a.cur_size; else c.max_size = b.cur_size; for (i = 0; i < a.cur_size; i++) { for (j = 0; j < b.cur_size; j++) { if (s.a[i] == b[j]) break; } if (j == b.cur_size) break; }}void main() { int_set a, b; cout << "增加一个整数到集合a里:" << endl; a.add(41); cout << "从集合a中去掉一个元素" << endl; a.ban(41); cout << "判断元素41是否在集合a中" << endl; a.check(41); cout << "求集合a和集合b的交集:" << endl; cout << "求集合a和集合b的并集:" << endl; cout << "求集合a和集合b的差集:" << endl;}

  • 写回答

1条回答 默认 最新

  • Admini$trat0r .net领域新星创作者 2021-12-24 14:10
    关注

    这代码真好看

    评论

报告相同问题?

问题事件

  • 创建了问题 12月24日

悬赏问题

  • ¥15 unity terrain打包后地形错位,跟建筑不在同一个位置,怎么办
  • ¥15 FileNotFoundError 解决方案
  • ¥15 uniapp实现如下图的图表功能
  • ¥15 u-subsection如何修改相邻两个节点样式
  • ¥30 vs2010开发 WFP(windows filtering platform)
  • ¥15 服务端控制goose报文控制块的发布问题
  • ¥15 学习指导与未来导向啊
  • ¥15 求多普勒频移瞬时表达式
  • ¥15 如果要做一个老年人平板有哪些需求
  • ¥15 k8s生产配置推荐配置及部署方案