PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2008/06/23 16:25:24
Name AttackDDang
Subject C언어 잘하시는분들 봐주세요
계산기 프로그램으로 하겠습니다.
입력 파일 term.inp를 읽어들여 term.out으로 결과를 출력하는 것입니다.
입력 파일은 여러개의 연산식이 줄 단위로 들어있습니다.
한 줄에 한 연산식이 들어있고 이를 계산해 출력파일로..  
사용가능한 연산자는 사칙연산, %, sqrt, log, () [], 괄호는 여러개 중첩되어 있을 수 있으며 연산자의 우선순위를 고려하여 결과가 맞아야 합니다.

4+9
12*3-2
-2*[(26-2)+(2^3)]
1!+2!+3!+4!

식은 이런식으로 들어가고요...

C언어로 짜야합니다.

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
꿀호떡a
08/06/23 16:28
수정 아이콘
1. 연산자에 우선순위를 매긴 후
2. 스택으로 해결합니다.
와후-만세
08/06/23 16:30
수정 아이콘
C언어 잘하지는 못하지만, 한번 봤습니다.
근데 무엇을 해 달라는 것인지 잘 모르겠네요.
어떻게 접근해야 할 지 모른다는 것으로 나름 해석하고 답변 달아봅니다.

일단 파일로부터 수식을 입력받고, 연산자의 우선순위에 따라 prefix 수식으로 고치거나 postfix로 고칩니다.( 다른 말로 트리로 만들어줍니다)
그 이후에 그렇게 구성된 식을 계산하는 것은 간단합니다. 그럼 즐거운 프로그래밍 되세요.

그리고 이런 질문이 혹시 프로그램을 누가 짜서 올려주기를 바라고 올린 것이라면 정말 무례한 질문이 되는건데, 이렇게 답변에 요구하는 사항이 무엇인지 안 적혀있으면 이렇게 오해할 소지가 다분한 것 같습니다. 이런 표현에 조금 주의해서 질문을 올려주셨으면 좋겠네요.
와후-만세
08/06/23 16:30
수정 아이콘
꿀호떡a님// 앗 늦었네요 ^^;
AttackDDang
08/06/23 17:07
수정 아이콘
와후-만세님//앗.;; 그러네요

접근방법에대한 질문이었습니다.

그리고 스택은 아직 배우지않았어요.

이게 1학년1학기 기말텀이지말입니다
08/06/23 17:08
수정 아이콘
infix to postpix
괄호의 stack처리
해당부분을 웹에서 검색하시거나 사용하는 교재에서 찾아보시면 자세히 설명히 나와있을 겁니다.
08/06/23 18:52
수정 아이콘
C 자료구조론 보시면 쉽게 해결하실 수 있습니다.
아이온
08/06/23 23:13
수정 아이콘
1학년 기말 프로젝트면 꽤 빡빡한 과제네요. 프로그램을 처음 배울 때는, 문법 자체가 상당한 압박이 될 수 있습니다. 더구나 C는 하드웨어에 약간 오리엔티드 된 언어기 때문에, 직관적으로는 불필요한 특징들-예컨대 포인터-이 사람을 더 헷갈리게 하는 면이 있지요.

하지만 언어가 낯선 건, 결국 쉽게 해결될 문제입니다. 언어가 불편하지 않다면, 프로그램은 한편으론 인간의 문제 해결 방식을 formal하게 기술하는 것이 되겠죠. Memex님이 추천해 주신 것처럼 infix to postfix algorithm을 구글 등에서 검색해 보세요. 다만 어떻게 프로그램 할까 생각하지 마시고, 내가 이 문제를 직접 손과 머리로 푼다면 어떻게 처리해야 할까, 하고 한 번 생각해 보시구요.

다음엔 stack calculator의 알고리즘을 찾아보세요.

그러면 알고리즘이 일단 눈에 들어오실 거에요. 저 알고리즘은 주로 stack을 사용합니다. 알고리즘을 읽다 보면 이미 스택이 뭔지 감이 오실 거에요. 마지막 단계가 구현이겠죠.

어려운 수학 문제를 다뤄보신 경험이 있으시다면 아시겠지만, 프로그래머에게도 마찬가지로 abstraction과 decomposition이 유일한 무기입니다. stack을 예로 들면, 우선은 stack을 어떻게 구현하나 생각하지 마시고 stack이 구현되어 있다면 어떻게 사용하는지 집중한 다음, stack에 사용되는 기능을 어떻게 구현하는지를 나중에 생각하는 식으로 접근하시면 됩니다.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
38498 프로게이머 김재춘 관련 질문이요 [5] KyRiE2276 08/06/23 2276
38497 jpg 가 bmp 로 저장되는 이유는? [4] on&on1828 08/06/23 1828
38496 만화 격투맨 바키 질문입니다. [4] 고드헨드2254 08/06/23 2254
38495 요즘 정치,경제적으로 이슈가 되고 있는게 뭐가 있을까요?? [4] 쑤기1897 08/06/23 1897
38494 대천 유스호스텔 질문드립니다 ^^ IloveYou3291 08/06/23 3291
38493 연애상담 부탁드립니다. [13] 어리버리질럿2145 08/06/23 2145
38492 해외사이트에 질문할 간단한 영어 한문장만 질문할께요 [2] David Beckham1741 08/06/23 1741
38491 혹시 HASEE 노트북에 대해 아시는 분 [4] 8141949 08/06/23 1949
38490 H2 - 너와 있던 날들. [5] 먼산바라기2077 08/06/23 2077
38489 [연애관련]상담좀부탁드립니다 [8] 구우사마2140 08/06/23 2140
38488 사소한 질문입니다. [1] 비야레알2112 08/06/23 2112
38487 취업에 도움되는 자격증은 무엇이 있을까요? [4] 축구사랑2087 08/06/23 2087
38486 컴퓨터관련 자격증 중에 하나만 취득하려고 한다면? [5] 먹도1814 08/06/23 1814
38485 예비군 관련 질문입니다. [1] 뽀나켄신1403 08/06/23 1403
38484 이 노래가 무슨 노래일까요.....? 유안1510 08/06/23 1510
38483 핸드폰 오즈 써보신분? [4] 아레스2117 08/06/23 2117
38482 패밀리 레스토랑 알바에 대해 질문드립니다. [3] 멀더2757 08/06/23 2757
38481 C언어 잘하시는분들 봐주세요 [7] AttackDDang2094 08/06/23 2094
38480 통장정리. [3] ElleNoeR2988 08/06/23 2988
38479 실용음악학원.. 다녀도 될까요? [9] UZOO2230 08/06/23 2230
38478 영걸전 장판파에서요 [4] 버관위_스타워2749 08/06/23 2749
38476 야구질문입니다. [12] 올빼미2387 08/06/23 2387
38475 슬리퍼구입 질문입니다~ [3] 치어풀2105 08/06/23 2105
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로