학교 과제인데 풀다가 대가리 깨질 것 같아서 내가 그렇게 재능이 없는 궁금해서 물어봄
★5개 만점기준 몇개짜리정도 되는거임?.... 와 왤케 머리아프냐....
이해한거랑 직접짜보는거랑 완전 천지차이구나..
양의 정수(32비트 미만)와 양의 소수(소숫점이 있는 수)를 갖는 수식이 중위수식(infix)으로 표현된다. 주어진 중위수식을 후위수식(postfix)으로 변경하여 출력하고 계산 결과를 출력하는 프로그램을 작성하시오.
피연산자 ::= 양의 정수 또는 양의 실수
양의 정수 ::= 0부터 9로 이루어진 32비트 미만으로 표현된 수
0, 0100, 00934, 1056, 65535라는 양의 정수 표현이 허용됨
양의 소수 ::= 양의 정수 그리고 소숫점(.) 그리고 양의정수로 표현된 수
0.0, 000.0100, 0.0001054, 0065.535, 1000.32라는 양의 소수 표현이 허용됨
연산자 ::= ‘+’, ‘-’, ‘*’, ‘/’, ‘^’, ‘u’ 이 때, u는 단항연산자로 -(음의 부호)를 의미함
나머지는 모두 이항연산자임
⑴ 양의 정수와 소수를 포함하는 중위수식을 입력받는다.
⑵ 입력된 중위수식을 후위수식으로 변경하고 맞는 수식인지 출력한다.
⑶ 중위수식이 합당한 경우 변경된 수식을 계산하여 결과값을 출력한다.
제출물 :
프로그램 소스와 입력 예를 통한 출력
예) 입력된 infix : (15+5)*(15+u5) // 실제 수식은 (15+5)*(15+(-5))
postfix: 15 5 + 15 5 u + *
결과값 = 200
입력된 infix : 003.14 * 05^2 // 실제 수식은
postfix: 3.14 5 2 ^ *
결과값 = 78.5
입력된 infix : (13.75 – 06.25)/u2 // 실제 수식은 (13.75 – 6.25)/(-2)
postfix: 13.75 6.25 - 2 u /
결과값 = -3.75
입력된 infix : (13.2 – 3.2)/2*(5.6 + u2.6) + 3)
출력: 계산이 불가능한 수식입니다.
입력된 infix : 2* 5.6 – 3.14*-4
출력: 허용되지 않는 수 표현입니다. (-4)
해당 댓글은 삭제되었습니다.
시발 개좆밥이구나 재능의 한계인가...
☆