소개글
11. [프로그래밍 과제] 연습문제 5를 반복하라. 그러나 이번에는 중위 표기식을 전위 표기식으로 변환하는 것이다.
1) line by line으로 상세한 주석이 달려 있습니다.
컴파일 실행환경
vc++ 6.0
본문내용
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define FALSE 0
#define TRUE 1
#define MAX_STACK_SIZE 100 // 최대 스택 사이즈
#define MAX_EXPR_SIZE 100 // 수식 최대 사이즈
typedef enum {
LPAREN, RPAREN, PLUS, MINUS, TIMES , DIVIDE, MOD ,
LOGICAL_AND , LOGICAL_OR ,LEFT_SHIFT , RIGHT_SHIFT ,
EQUAL , NOT_EQAUL , LESS , GRATER , LESS_EQUAL , GRATER_EQUAL ,
EOS, OPERAND
} PRECEDENCE ; // 우선순위
//////////////////////////////////////////////////////////////////////////
// Global Variable.
PRECEDENCE stack[MAX_STACK_SIZE];
char expr[MAX_EXPR_SIZE];
char expr_prefix[MAX_EXPR_SIZE];
// 괄호의 우선순위는 개괄호보다 폐괄호가 높아진다.
//in-stack precedence
const int isp[] = { 19,0,12,12,13,13,13,5,4,11,11,9,9,10,10,10,10,0 };
// incoming precedence
const int icp[] = { 19,20,12,12,13,13,13,5,4,11,11,9,9,10,10,10,10,0 };
압축파일 내 파일목록
infix_to_prefix.c
Problem_11_Prefix.dsp
Problem_11_Prefix.dsw
Problem_11_Prefix.ncb
Problem_11_Prefix.opt
참고 자료
없음