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 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号