목차
1. 문제개요
2. 알고리즘
3. 소스 및 주석
4. 실행결과
5. 느낀점
2. 알고리즘
3. 소스 및 주석
4. 실행결과
5. 느낀점
본문내용
ddle) {
return '>';
}
else {
return '=';
}
}
===================================compare 함수 끝========================================
===================================isFull() 함수 시작=======================================
template
bool DataManagement::isFull() {
// 배열이 다 찼는지 검사
if(data[total]==NULL) {
return true;
}
else {
return false;
}
}
====================================isFull() 함수 끝========================================
====================================main()함수시작========================================
int main() {
cout << "안녕하십니까~ 컴퓨터공학과 2학년 2001122184학번 양현탁입니다.\n";
cout << "이제부터 자료의 선택정렬과 이진탐색프로그램을 시작하겠습니다.\n";
cout << "우선 원하시는 자료형을 선택해주십시오." << endl;
cout << "[MENU] 1.integer 2.float 3.double Other.종료 ==>> ";
int select;
cin >> select;
switch(select) {
case 1 : {
DataManagement *test1 = new DataManagement();
// int형 동적으로 객체 생성
test1->initArray();
test1->inputData();
test1->select_sort();
for(int i=0;i<5;i++) {
test1->search();
}
delete test1;
break;
}
case 2 : {
DataManagement *test2 = new DataManagement();
// float형 동적으로 객체 생성
test2->initArray();
test2->inputData();
test2->select_sort();
for(int i=0;i<5;i++) {
test2->search();
}
delete test2;
break;
}
case 3 : {
DataManagement *test3 = new DataManagement();
// double형 동적으로 객체 생성
test3->initArray();
test3->inputData();
test3->select_sort();
for(int i=0;i<5;i++) {
test3->search();
}
delete test3;
break;
}
default : {
cout << "종료를 선택하셨습니다." << endl;
break;
}
}
return 0;
} // main 종료
=====================================main()함수끝=========================================
=====================================소스파일 끝=========================================
4.
실행결과 화면출력
5. 느낀점
처음엔 C++로 코딩을 해야한다는 막막함과 아직 알지 못하는 문법에 대해 많이 고민했습니다. 이리저리 책과 인터넷을 뒤져가면서 하나씩 새로운 것들을 접하게 되고 깨닫게 되어서 좋았습니다.
선택정렬 알고리즘에서 for문을 두 번 쓰는데 i를 처음부터 n-1번째 요소까지 돌리고 k를 두 번째부터 n번째까지 돌리면 되는데 책에서는 i를 처음부터 n번째 요소까지 돌리게 되어 있어서 한번의 일을 더하게 된다는 것을 발견했습니다. 왜냐하면 i가 n번째이면 비교할 다음 요소가 없기 때문입니다.
템플릿으로 구현하니까 소스코드의 길이도 줄일 수 있어서 좋았지만 그것을 알기 위해 이리저리 검색하느라 힘들었습니다. 순환적 이진탐색 알고리즘은 책에 있는 내용을 공부하고 나서 약간의 변형을 해서 썼습니다.
클래스의 개념이 아직 확실히 잡히지 않았지만 앞으로 나오는 과제를 충실히 수행해 나갈 것을 마음먹은 이상 열심히 공부할 것입니다.
return '>';
}
else {
return '=';
}
}
===================================compare 함수 끝========================================
===================================isFull() 함수 시작=======================================
template
bool DataManagement
// 배열이 다 찼는지 검사
if(data[total]==NULL) {
return true;
}
else {
return false;
}
}
====================================isFull() 함수 끝========================================
====================================main()함수시작========================================
int main() {
cout << "안녕하십니까~ 컴퓨터공학과 2학년 2001122184학번 양현탁입니다.\n";
cout << "이제부터 자료의 선택정렬과 이진탐색프로그램을 시작하겠습니다.\n";
cout << "우선 원하시는 자료형을 선택해주십시오." << endl;
cout << "[MENU] 1.integer 2.float 3.double Other.종료 ==>> ";
int select;
cin >> select;
switch(select) {
case 1 : {
DataManagement
// int형 동적으로 객체 생성
test1->initArray();
test1->inputData();
test1->select_sort();
for(int i=0;i<5;i++) {
test1->search();
}
delete test1;
break;
}
case 2 : {
DataManagement
// float형 동적으로 객체 생성
test2->initArray();
test2->inputData();
test2->select_sort();
for(int i=0;i<5;i++) {
test2->search();
}
delete test2;
break;
}
case 3 : {
DataManagement
// double형 동적으로 객체 생성
test3->initArray();
test3->inputData();
test3->select_sort();
for(int i=0;i<5;i++) {
test3->search();
}
delete test3;
break;
}
default : {
cout << "종료를 선택하셨습니다." << endl;
break;
}
}
return 0;
} // main 종료
=====================================main()함수끝=========================================
=====================================소스파일 끝=========================================
4.
실행결과 화면출력
5. 느낀점
처음엔 C++로 코딩을 해야한다는 막막함과 아직 알지 못하는 문법에 대해 많이 고민했습니다. 이리저리 책과 인터넷을 뒤져가면서 하나씩 새로운 것들을 접하게 되고 깨닫게 되어서 좋았습니다.
선택정렬 알고리즘에서 for문을 두 번 쓰는데 i를 처음부터 n-1번째 요소까지 돌리고 k를 두 번째부터 n번째까지 돌리면 되는데 책에서는 i를 처음부터 n번째 요소까지 돌리게 되어 있어서 한번의 일을 더하게 된다는 것을 발견했습니다. 왜냐하면 i가 n번째이면 비교할 다음 요소가 없기 때문입니다.
템플릿으로 구현하니까 소스코드의 길이도 줄일 수 있어서 좋았지만 그것을 알기 위해 이리저리 검색하느라 힘들었습니다. 순환적 이진탐색 알고리즘은 책에 있는 내용을 공부하고 나서 약간의 변형을 해서 썼습니다.
클래스의 개념이 아직 확실히 잡히지 않았지만 앞으로 나오는 과제를 충실히 수행해 나갈 것을 마음먹은 이상 열심히 공부할 것입니다.
추천자료
색인, 초록 및 전문서비스의 선택과 평가
소비자 의사결정과 소비자 선택
6학년 아동의 사회성 측정 조사, 선택수와 배척수
이성교제와 배우자 선택
[놀이지도C]유아교육기관의 자유선택활동에서의 놀이지도계획안을 전체 활동과의 관련성을 바...
[소비자행동론] 선택적 지각의 이해와 기업의 사례적용
단위학교지도성 - 교원 성장주기별 선택적 장학지도성, 교수&#65381;학습변인 중심의 자...
동요와 동시의 교육적 가치와 선택 시 고려해야 할 사항에 대해 생각해보시오.
Parten의 놀이의 분류에 대해 설명하고 자유선택놀이시간에 관찰되는 놀이를 Parten의 분류에...
선호도 행렬을 통한 진로 선택 방안
적절한 통계방법의 선택
어린이집에서 운영하고 있는 실내자유선택활동의 흥미영역의 구성의 원리와 영역별 교구를 정...