πŸ’» Dev & CSC++ Programming

C++ Programming Ch.10 Exercise 5 Solution

Problem: λ‹€μŒ ν•¨μˆ˜λŠ” 맀개 λ³€μˆ˜λ‘œ μ£Όμ–΄μ§„ 두 개의 int 배열을 μ—°κ²°ν•œ μƒˆλ‘œμš΄ int 배열을 동적 ν• λ‹Ήλ°›μ•„ λ¦¬ν„΄ν•œλ‹€. 1 int * concat(int a[], int sizea, int b[], int sizeb); concatκ°€ int 배열뿐 μ•„λ‹ˆλΌ λ‹€λ₯Έ νƒ€μž…μ˜ 배열도 μ²˜λ¦¬ν•  수 μžˆλ„λ‘ μΌλ°˜ν™”ν•˜λΌ. Execution Result: Objective & Hints: ν•¨μˆ˜μ˜ νžλ°˜ν™”μ— λŒ€ν•œ 이해, ν…œν”Œλ¦Ώ ν•¨μˆ˜ λ§Œλ“€κΈ° Code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include using namespace std; template T* concat(T a[], int sizea, T b[], int sizeb){ T *rArray = new T[sizea + sizeb]; // return ν•  배열을 동적생성 for(int i=0; i<sizea+sizeb; i++){ if(i<sizea) rArray[i] = a[i]; else rArray[i] = b[i-sizea]; } return rArray; } int main() { int x[] = { 1, 10, 100, 5, 4 }; int y[] = { 7, 6, 10, 9 }; int *a = concat(x, 5, y, 4); int aSize = sizeof(x)/sizeof(x[0]) + sizeof(y)/sizeof(y[0]); // a에 λ“€μ–΄μžˆλŠ” μ›μ†Œμ˜ 개수 for (int i = 0; i<aSize; i++) cout << a[i] << ' '; }

March 9, 2020 Β· 1 min Β· Sobamemil