1. 문제
3. 배열의 원소를 반대 순서로 뒤집는 reverseArray() 함수를 템플릿으로 작성하라. reverseArray()의 첫 번째 매개 변수는 배열에 대한 포인터이며 두 번째 매개 변수는 배열의 개수이다. reverseArray()의 호출 사례는 다음과 같다.
2. 결과
3. 코드
#include <iostream>
using namespace std;
template <class T>
void reverseArray(T a[], int size) {
T imsi;
for (int i = 0; i<size / 2; i++) {
imsi = a[i];
a[i] = a[size - i - 1];
a[size - i - 1] = imsi;
}
}
int main() {
int x[] = { 1, 10, 100, 5, 4 };
reverseArray(x, 5);
for (int i = 0; i<5; i++) cout << x[i] << ' ';
}
4. 설명
원소의 순서를 뒤집는 reverseArray 함수입니다.
원소의 개수 size가 짝수일 경우 0~size/2까지 즉 size/2번 for문을 실행하여서 원소의 순서를 뒤집어주고,
size가 홀수일 경우는 가운데의 값의 순서는 그대로이므로 (size/2)-0.5번 만큼만 for문을 실행하여주면 순서가 뒤집어집니다.
'명품 C++ programming' 카테고리의 다른 글
명품 C++ programming 실습문제 10장 5번 (1) | 2019.05.11 |
---|---|
명품 C++ programming 실습문제 10장 4번 (0) | 2019.05.10 |
명품 C++ programming 실습문제 10장 2번 (0) | 2019.05.10 |
명품 C++ programming 실습문제 10장 1번 (0) | 2019.05.09 |
명품 C++ programming 10장 Open Challenge (0) | 2019.05.09 |