C언어 후위표기를 중위표기로
앨런
질문 제목 : c언어 후위표기를 중위표기로 바꾸는 연산을 하는 c코드입니다.조건 3개에 맞게 후위표기법을 중위표기법으로 바꾸는 연산을 하는 c코드인데 제가 어느정도 짰는데 저기이후에 더 추가할 내용이나 빠진부분이있으면 알고싶습니다.질문 내용 :
c언어 후위표기법을 중위표기법으로 바꾸는 연산을 하는 c코드를 만들어야 하는데조건 1)후위표기문장은 main함수에서 연산을 할 함수 (postfix_to_infix())를 부를때 인자로 넘겨주고 절대로 사용자로부터 (scanf()와같이) 후위표기를 받도록 하지 말것입니다.
조건 2) 다음에 주어지는 main함수를 반드시 사용합니다
int main(void)
{
postfix_to_infix(234*+); 여기서 (234*+는 예시입니다. 다른걸로 해주시면됩니다.)
return 0;
}
조건 3) 결과값은 중위표기만 나와야합니다 한줄로. ex) (234*+)를 주었다면 결과값은 3*4+2 이렇게 한줄만 나와야합니다. 중위표기 수식 외 다른것들은 절대 나오면 안됩니다. 조건은 위에 3개가 있어요
그래서 제가 생각나는대로 해봤는데 이게 맞는지좀 확인부탁드립니다. 틀린거나 부족한 부분이 있으면 보충 좀 해주세요 ㅠ(위에 조건3개에 맞아야합니다)아래는 제가 짠 코드입니다.
#includestdio.h
intmain(intargc,char*argv[])
{
node*root=null;
charpostfix[20]=234**;
caltree(postfix,&root);
cout중위표기법endl;
inorder(root);
coutendlendl;
cout후위수식값endl;
coutevaluate(root)endl;
destroytree(root);
return0;
}
아직 c언어를 잘하는게 아니라...대충 제가생각나는게 여기까지라 ㅠㅠ 더 보충해야한다거나 하면 위에 조건3개에맞게 좀 부탁드립니다..