728x90
#include<iostream>
using namespace std;
class ArrayUtility2 {
private:
int size;
int *s1;
int *s2;
public:
static int*concat(int s1[], int s2[], int size);
static int* remove(int s1[], int s2[], int size, int &retSize);
};
int* ArrayUtility2::concat(int s1[], int s2[], int size) {
int *temp = new int[size * 2];
for (int i = 0; i < size; i++) {
temp[i] = s1[i];
}
for (int i = 0; i < size; i++) {
temp[size + i] = s2[i];
}
return temp;
}
int* ArrayUtility2::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++;
}
if (retSize == 0) return NULL;
int *temp = new int[retSize];
int n = 0;
for (int i = 0; i < size; i++) {
if (s1[i] != NULL) {
temp[n] = s1[i];
n++;
}
}
return temp;
}
int main() {
int x[5], y[5];
int *result;
int retSize = 0;
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];
}
cout << "합친 정수 배열을 출력한다." << endl;
result = ArrayUtility2::concat(x, y, 5);
for (int i = 0; i < 10; i++) {
cout << result[i] << ' ';
}
cout << endl;
result = ArrayUtility2::remove(x, y, 5, retSize);
cout << "배열 x[]에서 y[]를 뺀 결과를 출력한다. 개수는 " << retSize << endl;
for (int i = 0; i < retSize; i++) {
cout << x[i] << ' ';
}
}
반응형
'전공 공부 > C++' 카테고리의 다른 글
클래스 Circle, NamedCircle (클래스 상속) (0) | 2021.01.05 |
---|---|
클래스 Book (프렌드 함수) (0) | 2021.01.05 |
클래스 ArrayUtility (int배열을 double배열로, double배열을 int배열로) (0) | 2021.01.04 |
함수 bigger (큰 값 구하기) (0) | 2021.01.04 |
덧셈, 뺄셈 문자열 (0) | 2021.01.04 |