편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2021.05.26

    중위 표기법을 후위표기법으로 변환하는걸 하는데 잘 안되네요


    #include <stdio.h>
    char stack[14] = "((9/2)*(4-2))";
    
    int top = -1;
    
    void h_push(int in)
    {
            top++;
            stack[top] = in;
    
    }
    int h_pop()
    {
    
            int out;
    
            out = stack[top];
            top--;
    
            return out;
    
    }
    
    
    int main() {
    
        char input = 0;
        char outpop;
    
        int i;
    
        for (int i = 0; i<14; i++) {
    
    
            switch (stack[i])
            {
            case '(':
                break;
            case ')':
                outpop = h_pop();
                printf("%c", input);
                break;
            case '*':
                input = '*';
                h_push(input);
                break;
            case '-':
                input = '-';
                h_push(input);
                break;
            case '/':
                input = '/';
                h_push(input);
                break;
            default:
                printf("%c", stack[top]);
    
    
    
    
    
            }
    
        }
    }
    
  • 프로필 dhdhdhdhdh님의 편집
    날짜2021.05.25

    중위 표기법을 후위표기법 변한하는걸 하는데 잘 안되네요


    include

    char stack[14] = "((9/2)*(4-2))";

    int top = -1;

    void h_push(int in) { top++; stack[top] = in;

    } int h_pop() {

        int out;
    
        out = stack[top];
        top--;
    
        return out;
    

    }

    int main() {

    char input = 0;
    char outpop;
    
    int i;
    
    for (int i = 0; i<14; i++) {
    
    
        switch (stack[i])
        {
        case '(':
            break;
        case ')':
            outpop = h_pop();
            printf("%c", input);
            break;
        case '*':
            input = '*';
            h_push(input);
            break;
        case '-':
            input = '-';
            h_push(input);
            break;
        case '/':
            input = '/';
            h_push(input);
            break;
        default:
            printf("%c", stack[top]);
    
    
    
    
    
        }
    
    }
    

    }