Em làm ra phần giao nhưng phần hợp chỉ có ý tưởng là sắp xếp lại 2 mảng rồi cộng phần giao với các số còn lại của 2 mảng nhưng k thể nào viết chương trình ra được. Anh chị giúp em với.em cám ơn ạ.
#include<iostream>
using namespace std;
int n,m,*a,*b,c[100];
int Init() {
cin>>n>>m;
a=new int[n+1];
for(int i=1;i<=n;i++) {
cin>>a[i];
}
b=new int[m+1];
for(int i=1;i<=m;i++) {
cin>>b[i];
}
}
int interset() {
for(int i=1;i<=n;i++) {
for(int j=1;j<=m;j++) {
if(a[i]==b[j]) {
c[i]=a[i];
cout<<c[i]<<" ";
}
}
}
}
int main() {
int T;
cin>>T;
while(T--) {
Init();
interset();
}
}