0 / 0 / 0
Регистрация: 07.02.2017
Сообщений: 17
1

Перевод из инфиксной в постфиксную

12.03.2017, 14:08. Показов 11947. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
ПОМОГИТЕ ПОЖАААЛУЙСТА!!!

НУЖНА ПРОГРАММА ПЕРЕВОД ИЗ ИНФИКСНОЙ В ПОСТФИКСНУЮ ФОРМУ ( ГДЕ САМО ВЫРАЖЕНИЕ ВВОДИТСЯ С КЛАВИАТУРЫ )


SOS!!!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.03.2017, 14:08
Ответы с готовыми решениями:

Перевод из инфиксной в постфиксную
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <math.h> ...

Перевод из инфиксной в постфиксную запись
Суть моей программы: перевод из инфиксной в постфиксную запись. Но проблема в том, что функция...

Перевод из инфиксной записи в постфиксную
Программа очень сырая и вообще не работает вовсе. Как исправить ее? def rpn(s): lex=parse(s)...

Перевод из инфиксной записи в постфиксную
Всем привет! Ребята, помогите пожалуйста решить задачу. Нужно написать программу с использованием...

2
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
12.03.2017, 14:29 2
Лучший ответ Сообщение было отмечено zss как решение

Решение

nastyaloveone1, первая ссылка в гуглеклац1
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
// Operator supported: +,-,*,/,%,^,(,)
// Operands supported: all single character operands
 
#include<stdio.h>
#include<conio.h>
#include<ctype.h>
 
#define MAX 50
 
typedef struct stack
{
    int data[MAX];
    int top;
}stack;
 
int precedence(char);
void init(stack *);
int empty(stack *);
int full(stack *);
int pop(stack *);
void push(stack *,int);
int top(stack *);   //value of the top element
void infix_to_postfix(char infix[],char postfix[]);
 
void main()
{
    char infix[30],postfix[30];
    printf("Enter an infix expression(eg: 5+2*4): ");
    gets(infix);
    infix_to_postfix(infix,postfix);
    printf("\nPostfix expression: %s",postfix);
}
 
void infix_to_postfix(char infix[],char postfix[])
{
    stack s;
    char x,token;
    int i,j;    //i-index of infix,j-index of postfix
    init(&s);
    j=0;
 
    for(i=0;infix[i]!='\0';i++)
    {
        token=infix[i];
        if(isalnum(token))
            postfix[j++]=token;
        else
            if(token=='(')
               push(&s,'(');
        else
            if(token==')')
                while((x=pop(&s))!='(')
                      postfix[j++]=x;
                else
                {
                    while(precedence(token)<=precedence(top(&s))&&!empty(&s))
                    {
                        x=pop(&s);
                        postfix[j++]=x;
                    }
                    push(&s,token);
                }
    }
 
    while(!empty(&s))
    {
        x=pop(&s);
        postfix[j++]=x;
    }
 
    postfix[j]='\0';
}
 
int precedence(char x)
{
    if(x=='(')
        return(0);
    if(x=='+'||x=='-')
        return(1);
    if(x=='*'||x=='/'||x=='%')
        return(2);
 
    return(3);
}
 
void init(stack *s)
{
    s->top=-1;
}
 
int empty(stack *s)
{
    if(s->top==-1)
        return(1);
 
    return(0);
}
 
int full(stack *s)
{
    if(s->top==MAX-1)
        return(1);
 
    return(0);
}
 
void push(stack *s,int x)
{
    s->top=s->top+1;
    s->data[s->top]=x;
}
 
int pop(stack *s)
{
    int x;
    x=s->data[s->top];
    s->top=s->top-1;
    return(x);
}
 
int top(stack *p)
{
    return (p->data[p->top]);
}
2
0 / 0 / 0
Регистрация: 07.02.2017
Сообщений: 17
12.03.2017, 14:35  [ТС] 3
спасибо большое. Видимо мой гугл меня не любит и показывает всякую хр*нь на запросы (
0
12.03.2017, 14:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.03.2017, 14:35
Помогаю со студенческими работами здесь

Перевод инфиксной формы в постфиксную
Пишу программу для перевода из инфиксной системы в постфиксную, при работе программы выдает ошибку...

Перевод выражения из инфиксной в постфиксную форму
Перевести выражение из инфиксной в постфиксную форму. Вот мой код. Почему то на некоторых примерах...

Перевод арифметического выражения из инфиксной форму в постфиксную
Помогите написать код, попытки были но неудачные . polsk=raw_input(&quot;vvedi polskyy &quot;) #infix or...

Перевод из инфиксной записи в постфиксную (С++).С применением рекурсии,как это реализовать?
Перевод из инфиксной записи в постфиксную (С++).С помощью рекурсии,как это реализовать? Например...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru