[자료구조] infix를 postfix로 전환 <파일 입력을 통해서>

*진*
최초 등록일
2003.06.02
최종 저작일
2003.06
5페이지/한글파일 한컴오피스
가격 1,300원 할인쿠폰받기
다운로드
장바구니
퀴즈풀이 출석이벤트

소개글

파일로 입력받은 데이터를 화면에 출력하는 프로그램으로
특별한건 메인함수에서 매개변수를 실행파일과 input데이터를 같이 받아 실행하는 것입니다.
소스를 다운받아 실행시키면 실행파일은 디버그폴더안에 존재하는데 여기에 input.txt파일을 작성하셔서 같은 폴더안에 존재하게 해야 합니다.
실행 결과 화면도 캡쳐해놨으니 많은 도움될 겁니다.
조건은 위에 있는거니까 조건이 맞는 리포트 내시는 분께 적절하리라 봅니다.
신경 많이 쓴겁니다.. 그럼^^

목차

◆ 프로그래밍 절차
◆ 소스
◆ 실행결과

본문내용

과제 내용 : 스택을 사용하여 중순위(infix) 표기법을 후순위(postfix)표기법으로 변환한다. 교과서에서 제시된 알고리즘을 사용하여 구현한다. 피연산자는 정수로 구성되며, 사칙연산(+, -, *, /)과 괄호 연산자만이 사용된다. 프로그램을 단순화하기 위하여 피 연산자와 연산자 사이에 최소한 하나의 공백문자를 사용한다. 즉, 주어진 피연산자를 직접 숫자데이터로 읽을수 있음을 말한다. 따라서 문자를 숫자데이터로 전환하는 과정이 필요없다.

Input data format: 입력데이터는 파일에서 읽어들인다. 파일의 이름은 Input.dat이고 파일의 구성데이터는 아래와 같다.

55 + 12 / 2 - 3
48 * ( 14 - 84 ) * 9 / 3 + 4 * 46 / 28
49 + 73 * 6 + ( 32 * 9 + 59 ) * 26
( 66 + 32 ) * 8 - 48 * 74 + ( 63 - 89 ) / 4

◆ 프로그래밍 절차

☞ 우선 파일로부터 데이터(연산자, 피연산자, 공백문자)들을 한줄씩 읽어와 buffer배열에 저장
한다.
☞ 프로그램에 필요한 배열은 postfix 변환이후 결과가 들어갈 배열과 파일로부터 한 줄씩 읽어
와 저장하는 (buffer)배열, postfix 변환 전에 버퍼로부터 읽어온 배열(expr), 연산자들이
들어가는 배열(stack)을 선언한다.
☞ 연산자, 피연산자사이에 공백문자를 삽입하기 때문에 자릿수와 상관없이 데이터들을 순서대
로 배열에 저장한다.
☞ postfix 함수에서 연산자(+,-,*,/)들만 고려하기 때문에 공백문자는 피연산자로 취급한다.
☞ 우선순위함수에서 3가지의 경우(피연산자와 공백인 경우, 괄호의 끝 연산자인 경우, 연산자
인 경우)를 고려한다.
☞ 연산자들의 우선순위에서 괄호의 시작은 스택밖에서는 우선순위가 가장 높지만 스택 안에서
는 가장 낮은 우선순위를 가진다. 또한 괄호의 끝이 나오면 괄호의 시작 연산자가 나오기 전
의 연산자들을 모두 pop하고 괄호의 시작 연산자는 제거한다.

참고 자료

자료구조론

자료후기(2)

*진*
판매자 유형Bronze개인

주의사항

저작권 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우

찾던 자료가 아닌가요?아래 자료들 중 찾던 자료가 있는지 확인해보세요

더보기
우수 콘텐츠 서비스 품질인증 획득
최근 본 자료더보기
상세우측 배너
상세우측 배너
[자료구조] infix를 postfix로 전환 &lt;파일 입력을 통해서&gt;