您好,请问一下这个函数说是定义不合法?该怎么理解呢?

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#define VOIDPARAMETER 0
using namespace std;
//交集
bool Intersection(int a[], int b[], int m, int n)
{ cout<<"两集合交集:"<<"{"; 
for(int i = 0; i < m; i++) 
{ for(int j = 0; j < n; j++) 
{ if(a[i] == b[j]) 
 { return true;
}
}
cout<<endl;
}
//并集
void AddSets(int a[], int b[], int m, int n)
{ bool flat;
cout<<"两集合并集:"<<"{";
for(int i = 0; i < m; i++) 
{ flat = true; 
for(int j = 0; j < n; j++) 
{ if(a[i] == b[j]) 
{ flat = false; 

break; } 

 if(flat) cout<<a[i]<<' ';

for(int j = 0; j < n; j++) 
{ cout<<b[j]<<' '; }
if(i>=m)
{cout<<"}";}
cout<<endl;} 

int main( )
{ int n,m=1;
cin>>n;
for(m=1;m<=n;)
{ int N,M,i,j,k,flag,m1=2,n1=2;
int c[100][100]={0};
cin>>N>>" ">>M;
for(k=1;k<=M;k++)
{cin>>c[k];}
flag=1;
while(flag)
{ flag=0;
for(i=1;i<=M;i++)
if c[i]!={0}
{ for(j=i+1;j<=M;j++)
if c[j]!={0}
{ if(Intersection(c[i],c[j],m1,n1)==true)
{flag=1;
c[i]=AddSets(c[i],c[j],m1,n1);
c[j]={0};
m1=m1+1;
}
else
c[i]=c[i];
c[j]=c[j];
}
}
}
count=0;
for(i=1;i<=M;i++)
if c[i]!={0}
count++;
cout<<" 输出非空数组的个数:"<<count;
}
if(i>M)
m++;
break;
}
return 0;
}

慕桂英3389331
浏览 268回答 2
2回答

holdtom

#include <stdio.h>#include <stdlib.h>#include <iostream>#define VOIDPARAMETER 0using namespace std;//交集bool Intersection(int a[], int b[], int m, int n){cout<<"两集合交集:"<<"{";for(int i = 0; i < m; i++){for(int j = 0; j < n; j++){if(a[i] == b[j]){return true;}}cout<<endl;}// 缺少}return false;}//并集void AddSets(int a[], int b[], int m, int n){ bool flat;cout<<"两集合并集:"<<"{";for(int i = 0; i < m; i++){flat = true;for(int j = 0; j < n; j++){if(a[i] == b[j]){flat = false;break;}}if(flat) cout<<a[i]<<' ';}for(int j = 0; j < n; j++){cout<<b[j]<<' ';}if(i>=m){cout<<"}";}cout<<endl;}int main( ){int n,m=1,count;int N,M,i,j,k,flag,m1=2,n1=2;int c[100][100]={0};cin>>n;for(m=0;m<=n;){cin>>N>>M;for(i=0;i<N;i++)// 修改{for(k=0;k<M;k++){cin>>c[i][k];}}flag=1;while(flag){flag=0;for(i=0;i<N;i++){for(j=i+1;j<M;j++){if (c[i][j]!=0) // 修改{if(Intersection(c[i],c[j],m1,n1)==true){flag=1;AddSets(c[i],c[j],m1,n1);c[i][j]=0;m1=m1+1;}//else// c[i]=c[i];// c[j]=c[j];}}}}count=0;for(i=0;i<N;i++){for(j=i+1;j<M;j++){if (c[i][j]!=0)count++;}}cout<<" 输出非空数组的个数:"<<count;// if(i>M)// m++;// break;// }}return 0;}

慕的地6264312

int a[]不合法
打开App,查看更多内容
随时随地看视频慕课网APP