qixii 2021-09-07 17:03 采纳率: 100%
浏览 67
已结题

两个集合求交集并集差集程序出错,错误点也列在下面了


typedef struct

{ int data[MaxSize];
  int length;
}Set;

void cset(Set &s,int a[],int n)
{ for(int i=0;i<n;i++)
      s.data[i]=a[i];
   s.length=n;
}

void dispset(Set s)
{ for(int i=0;i<s.length;i++)
      printf("%d",s.data[i]);
  printf("\n");
}
int inset(Set s,int e)
{ for(int i=0;i<s.length;i++)
      if(s.data[i]==e)
          return 1;
  return 0;
}

void add(Set s1,Set s2,Set &s3)
{  int i;
   for(i=0;i<s1.length;i++)
       s3.data[i]=s1.data[i];
   s3.length=s1.length;
   for(i=0;i<s2.length;i++)
       if(!inset(s1,s2.data[i]))
       { s3.data[s.length]=s2.data[i];
         s3.length++;
       }
}
void sub(Set s1,Set s2,Set &s3)
{ s3.length=0;
  for(i=0;i<s1.length++;i++)
      if(!inset(s2,s1.data[i]))
      { s3.data[s3.length]=s1.data[i];
        s3.length++;
      }
}
void intersection(Set s1,Set s2,Set &s3)
{ s3.length=0;
  for(i=0;i<s1.length++;i++)
      if(inset(s2,s1.data[i]))
      { s3.data[s3.length]=s1.data[i];
        s3.length++;
      }
}
void main()
{ int a[]={1,9,0,2,3,4};
  int b[]={9,3,4};
  Set s1,s2,s3;
  cset(s1,a,5);
  cset(s2,b,4);
  printf("集合s1:");dispset(s1);
  printf("集合s2:");dispset(s2);
  add(s1,s2,s3);
  printf("集合s1和s2的并集:");dispset(s3);
  sub(s1,s2,s3);
  printf("集合s1和s2的差集:");dispset(s3);
  intersection(s1,s2,s3);
  printf("集合s1和s2的交集:");dispset(s3);
}

F:\c++\数据结构.cpp(2) : error C2065: 'MaxSize' : undeclared identifier
F:\c++\数据结构.cpp(2) : error C2057: expected constant expression
F:\c++\数据结构.cpp(2) : warning C4200: nonstandard extension used : zero-sized array in struct/union
F:\c++\数据结构.cpp(3) : error C2229: struct '__unnamed' has an illegal zero-sized array
F:\c++\数据结构.cpp(14) : error C2065: 'printf' : undeclared identifier
F:\c++\数据结构.cpp(31) : error C2065: 's' : undeclared identifier
F:\c++\数据结构.cpp(31) : error C2228: left of '.length' must have class/struct/union type
F:\c++\数据结构.cpp(37) : error C2065: 'i' : undeclared identifier

  • 写回答

1条回答 默认 最新

  • Pliosauroidea 2021-09-07 17:07
    关注

    报错写的很明白了
    你用了未定义的MaxSize,这里应该是个常量
    没导包,所以printf失效
    33行写了个s,这个s你没定义过
    37行for循环内的循环变量i没有初始化
    有帮助望采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月15日
  • 已采纳回答 9月7日
  • 创建了问题 9月7日

悬赏问题

  • ¥15 slam rangenet++配置
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊