[C언어] 수식나무를 이용한 후위식 계산기
- 등록일 / 수정일
- 페이지 / 형식
- 자료평가
- 구매가격
- 2007.11.07 / 2019.12.24
- 5페이지 / zip (압축파일)
- 평가한 분이 없습니다. (구매금액의 3%지급)
- 1,200원
추천 연관자료
- 목차
-
#define MAX 10 /*최대 숫자크기*/
#define MAXEXP 100 /*식의 최대 크기*/
typedef struct _stack *stptr; // 스택 선언
typedef struct _node *nodeptr; // 트리의 노드 선언
typedef struct _node { // 트리의 노드
char exp[MAX]; // 노드의 데이터
nodeptr LeftChild; // 왼쪽 자식
nodeptr RightChild; // 오른쪽 자식
}node;
typedef struct _stack {
node *key; // 스택의 키
stptr next; // 스택의 포인터
}stack;
stack *head, *tail; // 스택의 헤드 및 테일
void Get_postfix(char *s); // 후위식을 받아오는 함수.
node *Get_parsetree(char *p); // 수식나무를 생성하는 함수.
void printf_infix(node *t); // 수식나무를 통해 중위식을 출력하는 함수.
void Push_parenthesis(); // 중위식 출력때 쓰일 괄호를 스택에 넣어주는 함수.
void visit(char *s); // 노드를 방문하는 함수.
int is_operator(int k); // 연산자를 확인하는 함수.
int precedence(int op); // 우선순위를 확인하는 함수.
void init_stack(); // 스택을 생성하는 함수.
node *push(node *k); // 스택에 데이터를 넣는 함수.
node *pop(); // 스택의 데이터를 빼는 함수.
int Check_exp(char *s); // 후위식이 올바른지 확인하는 함수.
int is_legal(char *s); // 후위식의 형식이 올바른지 확인하는 함수.
- 본문내용
-
int main()
{
node *tree, *p; // 수식트리를 생성할 변수 및 스택 버퍼.
char exp[MAXEXP]; // 후위식을 받아올 변수
tree = (node *)malloc(sizeof(node));
init_stack();
printf("\nInput a postfix expression : ");
Get_postfix(exp); // 후위식 받아옴.
tree = Get_parsetree(exp); // 트리를 생성.
printf("\nThe infix expression : ");
while((pop()) != NULL); // 스택 정리.
printf_infix(tree); // 중위식 출력.
while((p = pop()) != NULL) printf("%c", p->exp[0]);
printf("\n\n");
}
void Get_postfix(char *s)
{
///////////////////////////////////////////////////////////////////////////
/*파라미터로 받아온 문자열 변수에 후위식을 받아오는 함수. scanf를 이용하여/
/ 후위식을 받아온 후 check_exp함수를 이용하여 형식이 올바른지 검사한다. */
///////////////////////////////////////////////////////////////////////////
char temp;
while(1){
int i = 0;
while(1){ // 후위식을 받아오는 부분.
scanf("%c", &temp);
if(temp != '\n') { s[i++] = temp;}
else { s[i] = 0; break; }
}
if(Check_exp(s)) break; // 형식이 올바르면 함수 종료.
else { // 올바르지 않은 형식이 입력된 경우 다시 받아온다.
printf("wrong command. try again.\n");
printf("\nInput a postfix expression : ");
}
}
}
자료평가
-
아직 평가한 내용이 없습니다.
오늘 본 자료
더보기
최근 판매 자료
- [조경실무]조경실무 - 도시경관의 문제점과 발전방향
- 바이오인포매틱스(생물정보학)개념, 바이오인포매틱스(생물정보학)정보과학적기법, 바이오인포매틱스(생물정보학)현황, 바이오인포매틱스 과제
- [생물학] 유전자와 돌연변이
- 디지털 회로 실험 및 설계 - ADC(Analog to Digital Converter) 실험 1
- 회로이론1 이정훈 년도 표기
- 회로이론1 이정훈 년도 표기 X
- 연세대 고려대 성균관대 한양대 기계공학 대학원 구술면접자료 및 공부
- 전자기학 응용예제_04장 hayt
- [생화학 실험] TLC를 이용한 아미노산의 적정실험
- 광결정(Photonic crystal)
저작권 관련 사항 정보 및 게시물 내용의 진실성에 대하여 레포트샵은 보증하지 아니하며, 해당 정보 및 게시물의 저작권과 기타 법적 책임은 자료 등록자에게 있습니다. 위 정보 및 게시물 내용의 불법적 이용, 무단 전재·배포는 금지됩니다. 저작권침해, 명예훼손 등 분쟁요소 발견시 고객센터에 신고해 주시기 바랍니다.