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

등록일 2003.06.02 한글 (hwp) | 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하고 괄호의 시작 연산자는 제거한다.

참고 자료

자료구조론
      최근 구매한 회원 학교정보 보기
      1. 최근 2주간 다운받은 회원수와 학교정보이며
         구매한 본인의 구매정보도 함께 표시됩니다.
      2. 매시 정각마다 업데이트 됩니다. (02:00 ~ 21:00)
      3. 구매자의 학교정보가 없는 경우 기타로 표시됩니다.
      최근 본 자료더보기