#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
class ArrayUtility2{
public:
static int*concat(int s1[], int s2[], int size){
int *s3= new int [size];
int j=0;
for(int i=0; i<(size/2);i++){
s3[j]=s1[i];
j++;
}
// cout<< j << endl;
for(int i=0; i<(size/2);i++){
s3[j]=s2[i];
j++;
}
// cout<< j << endl;
return s3;
}
static int*remove(int s1[],int s2[],int size,int& retSize){
for(int i=0; i<size;i ++){
for(int j=0; j<size; j++){
if(s1[i]==s2[j]){
s1[i]=NULL;
}
}
}
for(int i=0; i<size;i ++){
if(s1[i]!=NULL) retSize++;
}
int *s3=new int[retSize];
int j=0;
for(int i=0; i<size; i++){
if(s1[i]!=NULL){
s3[j]=s1[i];
j++;
}
}
if(retSize==0) return NULL;
else return s3;
}
};
int main(int argc, char** argv) {
int x[5];
int y[5];
int num=0;
int size;
cout << "정수를 5개 입력하라 .배열 x에 삽입한다. >> ";
for(int i=0; i<5; i++){
cin>> x[i];
}
cout << "정수를 5개 입력하라 .배열 y에 삽입한다. >> ";
for(int i=0; i<5; i++){
cin>> y[i];
}
size=sizeof(x)/4 + sizeof(y)/4;
cout << "합친 정수 배열을 출력한다.";
int *s=ArrayUtility2::concat(x,y,size);
for(int i=0; i<size; i++){
cout<< s[i]<< ' ';
}
size=sizeof(x)/4;
cout<< "배열 x[] 에서 y[]를 뺀 결과를 출력한다 .";
s=ArrayUtility2::remove(x,y,size,num);
cout << "개수는 " << num <<endl;
for(int i=0; i<num; i++){
cout<< s[i] << ' ';
}
return 0;
}