[[연습문제 1]]
#include <iostream>
using std::cin; using std::cout; using std::endl;
class DynamicArray{
public:
DynamicArray(int _n);
~DynamicArray();
void Arrayinput();
void Arrayoutput();
private:
int *p;
int array;
int i;
};
int main()
{
int n;
cout << "몇 개의 정수를 입력하시겠습니까 : ";
cin >> n;
DynamicArray da(n);
da.Arrayinput();
da.Arrayoutput();
return 0;
}
DynamicArray::DynamicArray(int _n)
{
array = _n;
p = new int[array];
cout << "constructor P";
}
DynamicArray::~DynamicArray()
{
cout << "Destructor P\n";
delete [] p;
}
void DynamicArray::Arrayinput()
{
cout << endl << "*** 입 력 부 ***\n";
for(i=0; i<array; i++)
{
cout << i+1 << " 번째 정수형 배열 입력 : ";
cin >> p[i];
}
}
void DynamicArray::Arrayoutput()
{
cout << endl << "*** 출 력 부 ***\n";
for(i=0; i<array; i++)
{
cout << i+1 << " 번째 정수형 배열 출력 : " << p[i] << endl;
}
}
[[연습문제 1-1]] => 선택된 값에 따라 오름/내림 차순으로 정렬
#include <iostream>
using std::cin; using std::cout; using std::endl;
class DynamicArray{
public:
DynamicArray(int _n);
~DynamicArray();
void Arrayinput();
void Arrayoutput();
void Sortarray();
private:
int *p;
int array;
int sort;
int temp;
};
int main()
{
int n;
cout << "몇 개의 정수를 입력하시겠습니까 : ";
cin >> n;
DynamicArray da(n);
da.Arrayinput();
da.Arrayoutput();
da.Sortarray();
da.Arrayoutput();
return 0;
}
DynamicArray::DynamicArray(int _n)
{
array = _n;
p = new int[array];
cout << "constructor P";
}
DynamicArray::~DynamicArray()
{
cout << "Destructor P\n";
delete [] p;
}
void DynamicArray::Arrayinput()
{
cout << endl << "*** 입 력 부 ***\n";
for(int i=0; i<array; i++)
{
cout << i+1 << " 번째 정수형 배열 입력 : ";
cin >> p[i];
}
}
void DynamicArray::Arrayoutput()
{
cout << endl << "*** 출 력 부 ***\n";
for(int i=0; i<array; i++)
{
cout << i+1 << " 번째 정수형 배열 출력 : " << p[i] << endl;
}
}
void DynamicArray::Sortarray()
{
cout << "\n오름차순 (1) / 내림차순 (2) 선택하시오 : ";
cin >> sort;
int i;
switch(sort)
{
case 1:
cout << "\n\n*** 오 름 차 순 정 렬 ***\n\n";
for(i=0; i<array; i++)
{
for(int j = i+1; j<array; j++)
{
if(p[j] < p[i])
{
temp = p[i];
p[i] = p[j];
p[j] = temp;
}
}
}
break;
case 2:
cout << "\n\n*** 내 림 차 순 정 렬 ***\n\n";
for(i=0; i<array; i++)
{
for(int j = i+1; j<array; j++)
{
if(p[j] > p[i])
{
temp = p[i];
p[i] = p[j];
p[j] = temp;
}
}
}
break;
}
}