모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 오유인페이지
    개인차단 상태
    더럽혀진우연님의
    개인페이지입니다
    가입 : 14-05-03
    방문 : 499회
    닉네임변경 이력
    회원차단
    회원차단해제
    게시물ID : programmer_10221
    작성자 : 더럽혀진우연
    추천 : 0
    조회수 : 440
    IP : 58.239.***.130
    댓글 : 3개
    등록시간 : 2015/05/19 07:03:28
    http://todayhumor.com/?programmer_10221 모바일
    txt 관련 문제..
    옵션
    • 베스트금지
    • 본인삭제금지
    12345.jpg
    #include < stdio.h > 

    #include < stdlib.h > 

    #define MAX 100    

    int stack[MAX];  
    int stack_top;    

    void init_stack(void)    
            stack_top = -1; 

    int push(int t)          
            if (stack_top >= MAX - 1) 
            { 
                    printf("\nStack overflow !!!");    
                    exit(1); 
            } 
            stack[++stack_top] = t; 
            return t; 


    int pop(void)            /* Pop function  */ 

            if (stack_top < 0) 
            { 
                    printf("\nStack underflow !!!");   /* Underflow error control part */ 
                    exit(1); 
            } 
            return stack[stack_top--]; 
    int get_stack_top(void)  /* Getting the stack's top value */ 
            return (stack_top < 0) ? -1 : stack[stack_top]; 
    int is_stack_empty(void) /* Checking the stack is empty or not */ 
            return (stack_top < 0); 
    int is_operator(int op)  /* Is this an operator ? */ 
            return (op == '+' || op == '-' || op == '*' || op == '/'); 
    int precedence(int op)   /* Check the precedence between operators */ 
            if (op == '(') return 0; 
            if (op == '+' || op == '-') return 1; 
            if (op == '*' || op == '/') return 2; 
            else return 3; 




    int is_legal(char *postfix)    /* Check the postfix expression... legal? illegal? */ 
            int result = 0; 
            while (*postfix) 
            { 
                    while (*postfix == ' ')       /* Get rid of space */ 
                            postfix++; 
                    if (is_operator(*postfix)) 
                            result--; 
                    else 
                    { 
                            result++; 
                            while (*postfix != ' ') 
                                    postfix++; 
                    } 
                    if (result < 1) break; 
                    postfix++; 
            } 
            return (result == 1); 
    void postfix(char *dst, char *src)   /* Change the infix expression to the postfix expression */ 
            char c; 
            init_stack(); 
            while (*src) 
            { 
                    if (*src == '(')     /* push '(' */ 
                    { 
                            push(*src); 
                            src++; 
                    }
                    else if (*src == ')')     /* If meet ')', pop until meet '('. and then throw '(' */ 
                    { 
                            while (get_stack_top() != '(') 
                            { 
                                    *dst++ = pop(); 
                                    *dst++ = ' '; 
                            } 
                            pop(); 
                            src++; 
                    } 
                    else if (is_operator(*src))    /* If it is an operator... */ 
                    { 
                            while (!is_stack_empty() && precedence(get_stack_top()) >= precedence(*src)) 
                            {                      
                *dst++ = pop(); 
                *dst++ = ' '; 
                            push(*src); 
                            src++; 
                    } 
                    else if (*src >= '0' && *src <= '9')    /* If it is an operand... */ 
                    { 
                            do 
                            { 
                                    *dst++ = *src++; 
                            } while (*src >= '0' && *src <= '9'); 
                            *dst++ = ' '; 
                    } 
                    else 
                            src++; 
            } 
            while (!is_stack_empty())   /* Pop rest of them in the stack */ 
            { 
                    *dst++ = pop(); 
                    *dst++ = ' '; 
            } 

            dst--; 

            *dst = 0; 

    int eval(char *post)    /* Calculation postfix expression */ 
            int i; 
            init_stack(); 
            while (*post) 
            { 
                    if (*post >= '0' && *post <= '9')     /* Push the operands */ 
                    { 
                            i = 0; 
                            do 
                            { 
                                    i = i * 10 + *post - '0'; 
                                    post++; 
                            } while (*post >= '0' && *post <= '9'); 
                            push(i); 
                    } 
                    else if (*post == '+')     /* If it is an operator, pop two times and push it */ 
                    { 
                            push(pop() + pop()); 
                            post++; 
                    } 
                    else if (*post == '*') 
                    { 
                            push(pop() * pop()); 
                            post++; 
                    } 
    else if (*post == '-') 
    i = pop(); 
    push(pop() - i); 
     post++; 
    else if (*post == '/') 
     i = pop(); 
     push(pop() / i); 
     post++; 
        else 
        post++; 
     } 
     return pop();   /* Last one in the stack! That is an answer of postfix expression */ 
    int main()
      FILE * fp1 = fopen("hw5.inp","r");
      FILE * fp2 = fopen("hw5.inp","r");
      FILE * fp3 = fopen("hw5.out","w");
            int result; 
            char exp[100], infix[100]; 
            while(1)    /* infinite loop */ 
            {          
                    printf("\n\nInput infix expression\n"); 
                    printf("==> ");             
                    if(scanf("%s", &infix)==EOF)   /* If press ^d, scanf returns EOF. We can make it exit algorithm */ 
                    { 
                            printf("\n");  
                    } 
                    postfix(exp, infix);     /* Call postfix function */ 
                    printf("\n%s", exp); 
                    if (!is_legal(exp))      /* Check the postfix expression */ 
                    { 
                            printf("\n Expression is not legal!\n\n"); 
                            continue; 
                    } 
                    result = eval(exp);     // 결과값
                    printf("\n%d\n\n", result);          
                    printf("\n" "*");
            return 0; 

    이렇게 까진 다 짯는데.
    txt파일에서 저렇게 나올려면 어떻게 짜야하는지 궁금합니다..

    이 게시물을 추천한 분들의 목록입니다.
    푸르딩딩:추천수 3이상 댓글은 배경색이 바뀝니다.
    (단,비공감수가 추천수의 1/3 초과시 해당없음)

    죄송합니다. 댓글 작성은 회원만 가능합니다.

    번호 제 목 이름 날짜 조회 추천
    108
    호러레이스 II 보면서.. [19] 본인삭제금지외부펌금지 더럽혀진우연 15/08/25 20:21 120 0/5
    107
    글픽 드라이버 문제.. [1] 본인삭제금지 더럽혀진우연 15/07/19 14:30 35 0
    106
    그냥 다음주 보면 됩니다.. 본인삭제금지 더럽혀진우연 15/07/12 00:39 58 0
    105
    이런 매운탕이 있는가요..? [3] 펌글본인삭제금지 더럽혀진우연 15/06/21 20:12 150 0
    104
    오유 지니어스 이런 이벤트는 어떨까요? [1] 더럽혀진우연 15/06/18 19:27 38 0
    txt 관련 문제.. [5] 더럽혀진우연 15/05/19 07:03 60 0
    102
    얼마전 베오베 / 베스트 게시글중 비행기 관련한.. 사이트 [2] 더럽혀진우연 15/05/04 02:48 25 0
    101
    이런 옷좀 찾고 싶은데영.. [1] 더럽혀진우연 15/04/10 02:59 139 0
    100
    C 및 자료구조에 관하여.. [2] 더럽혀진우연 15/04/08 00:11 43 0
    99
    최근 논란인 부산 *대학 군기 논란.. [2] 더럽혀진우연 15/04/07 18:43 129 2
    97
    저도 음악 하나를 찾고 싶습니다. 더럽혀진우연 15/03/19 21:49 21 0
    96
    SNS 관해서 문의해봅니다 [2] 더럽혀진우연 15/03/16 23:12 19 0
    95
    그 고등학생이 블로그하면서 쉽게 과학 알려준사이트.? [1] 더럽혀진우연 15/03/11 05:00 101 0
    93
    좋은 주말입니다 [4] 더럽혀진우연 15/01/03 20:27 116 2
    92
    서든어택 나.. [2] 더럽혀진우연 14/12/08 22:53 13 3
    91
    피파 안한지 오래됐나.. [8] 더럽혀진우연 14/12/08 21:45 164 4
    90
    쿠폰 나눔. [9] 더럽혀진우연 14/12/06 20:49 86 2
    89
    피파 쿠폰이 각각 피시방에 도착한듯 하네요.. [3] 더럽혀진우연 14/12/06 15:21 155 0
    88
    홍진호 타일 또 두번째꺼 고른다.. 더럽혀진우연 14/12/04 01:13 57 0
    87
    시사쪽 질문..(담배값 인상) [1] 더럽혀진우연 14/12/02 16:10 44 0
    86
    예비군.. 언제나 진상이군요.. [1] 더럽혀진우연 14/11/24 19:05 68 2/5
    85
    새벽 4:15분 ~ 생존 확인해드립니다. [5] 더럽혀진우연 14/11/15 04:15 102 0
    84
    피파 이벤트 시작 13분전.(24H) [2] 더럽혀진우연 14/11/14 23:47 126 0
    82
    지스타 게임 스탭지원.. 더럽혀진우연 14/11/03 17:30 135 0
    81
    태권도 또 승부 조작.. [1] 더럽혀진우연 14/10/31 04:36 109 2
    80
    꼬물꼬물이들.. 더럽혀진우연 14/10/26 01:07 65 5
    79
    피방 알바하고 있다.. 더럽혀진우연 14/10/25 06:13 37 0
    [1] [2] [3] [4] [5]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈