函式實現實現兩個陣列的交併差集
阿新 • • 發佈:2018-12-18
結果如圖:
輸入陣列
操作:
#include <iostream> using namespace std; int m; int n; void jiao(int *a,int *b){ int flag; for(int i=0 ;i<m;i++){ flag=0; for(int j=0 ;j<n;j++){ if(a[i]==b[j]){ flag=1; break; } } if(flag==1) cout<<a[i]<<" "; } } void bing(int a[],int b[]){ for(int i=0;i<n;i++){ cout<<b[i]<<" "; } int flag; for(int i=0 ;i<m;i++){ flag=0; for(int j=0 ;j<n;j++){ if(a[i]==b[j]){ flag=1; break; } } if(flag==0) cout<<a[i]<<" "; } } void cha(int a[],int b[]){ int flag; for(int i=0 ;i<m;i++){ flag=0; for(int j=0 ;j<n;j++){ if(a[i]==b[j]){ flag=1; break; } } if(flag==0) cout<<a[i]<<" "; } } int main(){ cout<<"請輸入第一個陣列a的長度"<<endl; cin>>m; int *a = NULL; a = new int[m]; cout<<"請輸入陣列的"<<m<<"個元素"<<endl; for(int i=0;i<m;i++) cin>>a[i]; cout<<"請輸入第二個陣列b的長度"<<endl; cin>>n; int *b = NULL; b = new int[n]; cout<<"請輸入陣列的"<<n<<"個元素"<<endl; for(int i=0;i<n;i++) cin>>b[i]; int s; while(1){ cout<<"1.輸出交集:"<<endl; cout<<"2.輸出並集為:"<<endl; cout<<"3.輸出a-b差集為:"<<endl; cout<<"0.退出成功!"<<endl; cin>>s; switch(s){ case 1:cout<<"交集為:";jiao(a,b);cout<<endl;break; case 2:cout<<"並集為:";bing(a,b);cout<<endl;break; case 3:cout<<"a-b差集為:";cha(a,b);cout<<endl;break; case 0:cout<<"退出成功!"<<endl;return 0; } } }