#include #include using namespace std; char str[]="(x-y)*((z+v)/f)"; int i,j,k,last,x; char temp; char stack[50]; char prefix[15]; int sign(char x) { switch(x) { case '*': case '/': return 2; case '+': case '-': return 1; case '^': return 3; default : return 0; } } int main() { last=strlen(prefix); for(i=strlen(str);i>=0;i--) { if(str[i]=='*'|| str[i]=='/' || str[i]=='+' || str[i]=='-' || str[i]=='^') { stack[j]=str[i]; j++; for(int l=0;l=l;h--) { stack[h]=stack[h-1]; } stack[l]=temp; } } } } if(97>=int(str[i])<=122) { last--; prefix[last]=str[i]; } if(str[i]=='(' || str[i]== '{' || str[i]== '[') { for(k=0;k