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형으로 강제 형변환하면서 데이터 손실이 발생하였습니다.

 

+ Recent posts