문자열 연산기 구현
- 최초 등록일
- 2009.12.21
- 최종 저작일
- 2006.01
- 압축파일
- 가격 1,000원
소개글
1. 내용: reverse polish notation으로 표기된 문자열을 입력으로 받은 후 쓰인 대로 문자열 연산을 수행한 후 결과를 출력하는 프로그램을 작성한다. 구현 방법은 4칙 연산기 프로그램과 유사하게 스택을 사용하면 된다. 즉, 피연산자를 만나면 스택에 push하고 연산자를 만나면 필요한 수 만큼 pop한 뒤 연산을 수행하면 된다. 여러 가지 문자열 연산을 정의할 수 있지만 다음의 5 가지 연산을 구현한다.
- String length : “abc” || => 3
- String concatenation : “abc” “133” ~ => “abc133”
- String multiple concatenation : “abc” 3 ~* => “abcabcabc”
- Substring insertion : “hi there” “Ahn ” 3 ~i => “hi Ahn there”
- Simple substring existence checking : “aabbccdef” “cd” ~~ => “yes”, “aaa” b” ~~ => “no”
2. 주의: 앞선 숙제의 경우 피연산자의 데이터 타입이 모두 동일하였지만, 이번 숙제에서는 스택에 들어가는 피연산자자의 데이터 타입이 문자열이거나 숫자일 수 있다. 이를 구현하기 위한 한 가지 방법은 C의 공용체(union)나 구조체(struct)를 활용하는 것이다.
3. 입력 데이터 input.dat의 예:
"abc" "133" ~ 3 ~*
"aaa" "ab" ~~ "111" ~ "bbb" 2 ~i
4. 실행 시 CMD 창에서 아래와 같이 입력
PostfixStringOP.exe < input.dat
컴파일 실행환경
Visual Studio 2005, VC++
압축파일 내 파일목록
PostfixStringOP.sln
PostfixStringOP.vcproj
stcktp1.h
input.dat
PostfixStringOP.cpp
참고 자료
없음