Вы находитесь на странице: 1из 1

#include<iostream.

h>
#include<conio.h>
#include<ctype.h>
void push(char,int,char [],char []);
int pres(char);
static int i=0;

void main()
{
char in[20],op[20],po[20];
cin.getline(in,20);
for(int k=0,c=0;k<=strlen(in);k++,c++)
{
if(isalnum (in[k]))
{po[c]=in[k];}
else
{
push(in[k],c,op,po);}
}
for(int t=0;t<=strlen(po);t++)
{cout<<po[t];}
getch();}
void push(char s,int c,char op[],char po[])
{
if(i!=0)
{for (int j=i-1;j>=0; j--)
{if(pres(s)==pres(op[j])||pres(s)<pres(op[j]))
{po[c]=s; }}}
else
{ op[i]=s;
i++;}
}
int pres(char s)
{
switch(s)
{case'(':case'^':
return 2;
break;
case'/':case'*':case'%':
return 1;
case'+':case'-':
return 0;
}}

Вам также может понравиться