:: 게시판
:: 이전 게시판
|
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
08/06/23 16:30
C언어 잘하지는 못하지만, 한번 봤습니다.
근데 무엇을 해 달라는 것인지 잘 모르겠네요. 어떻게 접근해야 할 지 모른다는 것으로 나름 해석하고 답변 달아봅니다. 일단 파일로부터 수식을 입력받고, 연산자의 우선순위에 따라 prefix 수식으로 고치거나 postfix로 고칩니다.( 다른 말로 트리로 만들어줍니다) 그 이후에 그렇게 구성된 식을 계산하는 것은 간단합니다. 그럼 즐거운 프로그래밍 되세요. 그리고 이런 질문이 혹시 프로그램을 누가 짜서 올려주기를 바라고 올린 것이라면 정말 무례한 질문이 되는건데, 이렇게 답변에 요구하는 사항이 무엇인지 안 적혀있으면 이렇게 오해할 소지가 다분한 것 같습니다. 이런 표현에 조금 주의해서 질문을 올려주셨으면 좋겠네요.
08/06/23 17:07
와후-만세님//앗.;; 그러네요
접근방법에대한 질문이었습니다. 그리고 스택은 아직 배우지않았어요. 이게 1학년1학기 기말텀이지말입니다
08/06/23 17:08
infix to postpix
괄호의 stack처리 해당부분을 웹에서 검색하시거나 사용하는 교재에서 찾아보시면 자세히 설명히 나와있을 겁니다.
08/06/23 23:13
1학년 기말 프로젝트면 꽤 빡빡한 과제네요. 프로그램을 처음 배울 때는, 문법 자체가 상당한 압박이 될 수 있습니다. 더구나 C는 하드웨어에 약간 오리엔티드 된 언어기 때문에, 직관적으로는 불필요한 특징들-예컨대 포인터-이 사람을 더 헷갈리게 하는 면이 있지요.
하지만 언어가 낯선 건, 결국 쉽게 해결될 문제입니다. 언어가 불편하지 않다면, 프로그램은 한편으론 인간의 문제 해결 방식을 formal하게 기술하는 것이 되겠죠. Memex님이 추천해 주신 것처럼 infix to postfix algorithm을 구글 등에서 검색해 보세요. 다만 어떻게 프로그램 할까 생각하지 마시고, 내가 이 문제를 직접 손과 머리로 푼다면 어떻게 처리해야 할까, 하고 한 번 생각해 보시구요. 다음엔 stack calculator의 알고리즘을 찾아보세요. 그러면 알고리즘이 일단 눈에 들어오실 거에요. 저 알고리즘은 주로 stack을 사용합니다. 알고리즘을 읽다 보면 이미 스택이 뭔지 감이 오실 거에요. 마지막 단계가 구현이겠죠. 어려운 수학 문제를 다뤄보신 경험이 있으시다면 아시겠지만, 프로그래머에게도 마찬가지로 abstraction과 decomposition이 유일한 무기입니다. stack을 예로 들면, 우선은 stack을 어떻게 구현하나 생각하지 마시고 stack이 구현되어 있다면 어떻게 사용하는지 집중한 다음, stack에 사용되는 기능을 어떻게 구현하는지를 나중에 생각하는 식으로 접근하시면 됩니다.
|