1. 문제
5. 동일한 크기로 배열을 변환하는 다음 2개의 static 멤버 함수를 가진 ArrayUtility 클래스를 만들어라.
2. 결과
3. 코드
#include <iostream>
using namespace std;
class ArrayUtility {
public :
static void IntToDouble(int source[], double dest[], int size) {
for(int i=0; i< size; i++)
dest[i] = (double)source[i];
}
static void doubleToInt(double source[], int dest[], int size) {
for(int i=0; i< size; i++)
dest[i] = (int)source[i];
}
};
int main() {
int x[] = {1,2,3,4,5};
double y[5];
double z[] = {9.9, 8.8, 7.7, 6.6, 5.6};
ArrayUtility::IntToDouble(x, y, 5);
for(int i=0; i<5; i++) cout << y[i] << ' ';
cout << endl;
ArrayUtility::doubleToInt(z, x, 5);
for(int i=0; i<5; i++) cout << x[i] << ' ';
cout << endl;
}
4. 설명
크기가 size인 int형 배열의 요소들을 double형으로 형변환 한 후 double 배열의 저장하는 IntToDouble()을 강제 형변환을 이용하여서 구현 합니다.
double형을 int형으로 바꾸는 doubleToInt() 함수도 마찬가지로 강제형변환을 이용하여서 int형으로 변환하도록 구현 합니다.
※ double형을 int형으로 강제 형변환하면서 데이터 손실이 발생하였습니다.
'명품 C++ programming' 카테고리의 다른 글
명품 C++ programming 실습문제 6장 7번 (0) | 2019.04.13 |
---|---|
명품 C++ programming 실습문제 6장 6번 (0) | 2019.04.13 |
명품 C++ programming 실습문제 6장 4번 (0) | 2019.04.13 |
명품 C++ programming 실습문제 6장 3번 - (2) (0) | 2019.04.12 |
명품 C++ programming 실습문제 6장 3번 - (1) (0) | 2019.04.12 |