디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

우하하 봐라 하면 볼려나

ㄴㄴㅇ(116.36) 2011.10.19 22:29:30
조회 41 추천 0 댓글 2

뭐 운좋으면 보갯지뭐


#include <stdio.h>
#include <string.h>

#define STACKSIZE (100)

int* g_pcstackPoint;
int g_pcstackBuffer[STACKSIZE];


void init()
{
        g_pcstackPoint = g_pcstackBuffer;
}

bool isEmpty()
{
        return g_pcstackPoint == g_pcstackBuffer;
}
bool isFull()
{
        return g_pcstackPoint > g_pcstackBuffer + STACKSIZE;
}
unsigned int StackCount()
{
        return g_pcstackPoint - g_pcstackBuffer;
}

void push(int value)
{
        if (!isFull())
        {
                *g_pcstackPoint = value;
                g_pcstackPoint++;
        }
        else
                printf("stack is full\\n");
}

int pop()
{
        if (!isEmpty())
        {
                return *(--g_pcstackPoint);
        }
        else
                printf("stack is empty\\n");
        return 0;
}

////////////////////////////////////여기까지가 스택이다

bool isNumber(char value)
{
        return value >= \'0\' && value <= \'9\';
}

bool postFix(char* data, int size)
{
        bool isNubmerCut = false;
        for ( int i = 0; i < size; i++)
        {
                char current = *(data +i);
                if ( isNumber(current) )
                {
                        if (!isNubmerCut)
                                push( pop() * 10 + current - \'0\');
                        else 
                                push( current - \'0\');
                        isNubmerCut = false;
                }
                else if ( current == \' \' )
                {
                        isNubmerCut = true;
                }
                else 
                {
                        isNubmerCut = true;

                        int rvalue = pop();
                        int lvalue = pop();

                        switch(current)
                        {
                        case \'+\':
                                push(lvalue + rvalue);
                                break;
                        case \'-\':
                                push(lvalue - rvalue);
                                break;
                        case \'*\':
                                push(lvalue * rvalue);
                                break;
                        case \'/\':
                                push(lvalue / rvalue);
                                break;

                        default:
                                printf("Invalid calculator!");
                                return false;
                                break;
                        }
                }
        }
        return true;
}


int main()
{
        char* pcpostfixStr = "124 44 + 32 - 20 10 - /";
        init();
        if (postFix(pcpostfixStr , strlen(pcpostfixStr) ))
        {
                printf("%d\\n", pop());
        }
        if (StackCount() == 0)
                printf("Valid Calculation");
        getchar();
        return 0;
}

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 이번주 설문은 탈모 걱정 없어 보이는 머리숱 금수저 스타는? 운영자 25/07/14 - -
AD 휴대폰 액세서리 SALE 운영자 25/07/15 - -
283282 밑에서 말한 주어는 이거랑 비슷한 거지 시불라미갤로그로 이동합니다. 11.10.24 44 0
283281 프로그래밍공부하는 경제학도야 ㅋㅋㅋ [7] 경제학도(117.16) 11.10.24 115 1
283280 야 진짜 펜티엄이 무슨 인텔의 차세대 프로세서냐 ㅋㅋㅋ [7] 분당살람갤로그로 이동합니다. 11.10.24 115 0
283274 jquery 질문 하나만ㅠ ㅠ [5] asd(211.114) 11.10.24 60 0
283273 이 책 살려고 하는데 괘얀을까? [6] 3(121.169) 11.10.24 138 0
283272 점심 전의 은꼬르 얼빠진호랑이갤로그로 이동합니다. 11.10.24 119 0
283270 만화책 몇권 공유중이에요 [8] 만화책들(120.142) 11.10.24 81 0
283269 예비군이 다가오는데 비가오네옇..... [3] 즐쿰갤로그로 이동합니다. 11.10.24 53 0
283268 이 게임 모르는 형들은 없겠지? [7] 얼빠진호랑이갤로그로 이동합니다. 11.10.24 220 0
283266 디자인을 배워야 할 것 같다 [2] 토페갤로그로 이동합니다. 11.10.24 83 0
283262 c# 질문좀할께 슈비.갤로그로 이동합니다. 11.10.24 53 0
283260 혹시 델파이 하시는 분 없나요??? daisuki100갤로그로 이동합니다. 11.10.24 47 0
283257 아 진짜 개같은 포토샵 [7] McHello갤로그로 이동합니다. 11.10.24 135 0
283255 DB 테이블 [4] 미르(164.125) 11.10.24 74 0
283253 한페이지 넘니기 s/w 관리병에 관심 있는 사람 있나보네 [1] LibeRa갤로그로 이동합니다. 11.10.24 152 1
283252 자바에서 변수선언을 할때 void랑 기본형변수의 차이가 뭐냐 [3] ㅇㅅㅇ(210.119) 11.10.24 81 0
283251 난리났네 이거봐라ㅡㅡ [2] 三didas갤로그로 이동합니다. 11.10.24 114 0
283249 해킹 테크트리좀 [4] 게논볼갤로그로 이동합니다. 11.10.24 185 0
283248 우리 배일도의 장점에 대해 논해 보자 [6] 분당살람갤로그로 이동합니다. 11.10.24 77 0
283247 생각해보니 난 [12] 로하로하알로하갤로그로 이동합니다. 11.10.24 86 0
283244 형들 질문이하나있어요 AnonyMous갤로그로 이동합니다. 11.10.24 33 0
283242 왜 이렇게 늦게 일어낫지 로하로하알로하갤로그로 이동합니다. 11.10.24 27 0
283241 프갤형들!!! 속보야 !!! [1] AnonyMous갤로그로 이동합니다. 11.10.24 95 0
283237 횽들 다이렉트드로우 교수가 OpenFile _open으로 바꿔야 된다는데 [1] ㅁㅁ(218.144) 11.10.24 44 0
283236 8차교육과정 과학 그렇게 어렵나 [1] 수크라제갤로그로 이동합니다. 11.10.24 49 0
283234 허미... 날샛네;; 일광면(119.198) 11.10.24 53 0
283233 ㅅㅂ 해뜨는 거 보겠네 dot(125.128) 11.10.24 48 0
283232 게임핵 크랙해서 1명당 20만원에 30명(실제론40~50명되는듯) [4] ㄴㅇㄹ(218.39) 11.10.24 214 0
283231 횽들 이런 얘기좀 들어줘 [1] 수구(211.204) 11.10.24 55 0
283230 Lan카드 성능이 [1] 로하로하알로하갤로그로 이동합니다. 11.10.24 48 0
283229 게임테크트리 이거 다 배우려면 얼마나 걸림? [16] 1(125.135) 11.10.24 318 0
283228 갑자기 생긴질문인데 배열가지고 원형 큐만들때말야 [14] 저격甲갤로그로 이동합니다. 11.10.24 137 0
283227 언리얼 엔진 기본 메뉴얼만 숙지하면 바로 작업 가능함? [3] 1(125.135) 11.10.24 108 0
283226 근데 프갤러들은 [7] 로하로하알로하갤로그로 이동합니다. 11.10.24 123 0
283224 이게왜 진행이 안되는지 설명해주소서 프갤러님들이어 [1] 베어머글갤로그로 이동합니다. 11.10.24 53 0
283223 내가컴터암것도몰라..... ㅂㅂ1(110.10) 11.10.24 42 0
283222 횽들 윈도우즈 훅에서 이해가 안가는게 있음여. [2] 설치마법사갤로그로 이동합니다. 11.10.24 57 0
283220 안녕하세요 군대문제때문에 질문드릴게 있습니다~ [2] 컴공학생(125.130) 11.10.24 102 0
283219 내꿈이보안프로그램개발원인데 아무것도몰라 뭐부터시작해야할까? [9] ㅂㅂ1(110.10) 11.10.24 124 0
283218 게시판은 HTML이 50%라고 보면 된다. Deskjet(220.75) 11.10.24 126 0
283217 월급 밀리는 회사 모음 사이트 주소 아시는 분 알려주세욤 ㅠㅠ [2] ㅇㅇㅇ(123.214) 11.10.24 101 0
283215 C언어는 왜 벼락치기가 안통하나요? [5] Aven갤로그로 이동합니다. 11.10.24 635 0
283212 내일 C언어 시험보는데요 어떤거 공부하면 좋을까요? [5] Aven갤로그로 이동합니다. 11.10.23 108 0
283211 atmega128 뭐좀 물어보려고 하는데ㅠㅠ [3] dd(210.110) 11.10.23 49 0
283210 야식 뭐 먹을까 [4] AS3.0갤로그로 이동합니다. 11.10.23 87 0
283209 방금 밑에 c++ 질문한 허접인데여.... 이번엔 template 관련. [5] 행님들아(211.205) 11.10.23 66 0
283208 횽들 내가 자바로 간단한 계산기 만들었는데 왜 안돌아갈까? 外 [2] schizoid322갤로그로 이동합니다. 11.10.23 90 0
283207 외장하드 하나 사서 리눅스 깔아서 쓰려는데 [6] = _=갤로그로 이동합니다. 11.10.23 70 0
283205 비베 dim <> integer 의 질문 [2] DNB갤로그로 이동합니다. 11.10.23 45 0
283203 S/W 관리병으로 군대가면 [5] MUFF갤로그로 이동합니다. 11.10.23 184 0
뉴스 ‘남겨서 뭐하게’ 부여 미식투어 2탄! 조현재-정일우-이연복-오세득, ‘왕들의 밥상’ 미식 투어 디시트렌드 18:00
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2