Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2011, 02:55   #1
Колесо
Новичок
Джуниор
 
Регистрация: 18.12.2011
Сообщений: 2
По умолчанию Из инфиксной в постфиксную запись

Здравствуйте. Нужно написать функцию перевода из инфиксной в постфиксную нотацию. Т.е. например, "5+4*2/1-4" записать как "5421/*+4-" Составил следующий код, но он почему то не делает то, что нужно. в чем ошибка?
PHP код:
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <windows.h>

int _tmain(int argc_TCHARargv[])
{
    
int j=0k=0prior[70];
    
char stack[70];
    
char st[255], outst[255];
            
    
printf("Введите выражение: ");
    
gets(st);

    for (
int i 0strlen(st); i++)
    {
        if (
st[i] >= '0' && st[i] <= '9')
        {
            
outst[j] = st[i] - '0';
            
j++;
            continue;
        }
        
k++;
        switch (
st[i])
        {
            case 
'+':
            {
                
prior[k]=0;
                break;
            } 

            case 
'-':
            {
                
prior[k]=0;
                break;
            } 

            case 
'/':
            {
                
prior[k]=1;
                break;
            } 

            case 
'*':
            {
                
prior[k]=1;
                break;
            } 
  
        }

        if (
prior[k]>=prior[k-1])
        {
            
stack[k]=st[i];
        }
        else 
        {
            for (
int m=sizeof(stack); m<0m--)
            {
                
outst[j] = stack[m];
                
stack[m]=0;
                
j++;
            }
            
stack[0]=st[i];

        }
    }
    
printf("Ответ: %f"outst);
    
system("pause");
 
    return 
0;

Колесо вне форума Ответить с цитированием
Старый 18.12.2011, 10:54   #2
Kakuzu
Новичок
Джуниор
 
Регистрация: 18.12.2011
Сообщений: 1
По умолчанию

я видел как это сделать вот тут, там есть именно такая статья с объяснением!
Kakuzu вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование арифметического выражения из инфиксной в постфиксную форму записи Nelson1992 Паскаль, Turbo Pascal, PascalABC.NET 2 29.05.2021 18:04
Превод из инфиксной в обратную польскую запись Anny_Apple Помощь студентам 0 11.04.2011 19:22
программа для перевода из инфиксной формы записи в постфиксную Diana888 Помощь студентам 0 01.10.2009 23:15
программа для перевода из инфиксной формы записи в постфиксную Diana888 Общие вопросы C/C++ 0 01.10.2009 23:06