Thursday, 8 May 2014

SPOJ Problem Set (classical) 4. Transform the Expression Problem code: ONP

//http://www.spoj.com/problems/ONP/

# include <stdio.h>

int main()
 {
  unsigned long cases,top=0,i;
  char exp[400],stack[200];
  scanf("%u",&cases);
  while(cases)
   {
      scanf("%s",exp);
      printf("\n");
      for(i=0;exp[i];i++)
       {
        if(exp[i]=='(')
          continue;
        else if(exp[i]==')')
          {
           printf("%c",stack[top]);
           top--;
          }
        else if(exp[i]=='+' || exp[i]=='-' || exp[i]=='*' || exp[i]=='/' || exp[i]=='^')
         {
          top++;
          stack[top]=exp[i];
         }
        else
         {
          printf("%c",exp[i]);
         }
       }    
    cases--;
   }
  return 0;
 }

No comments:

Post a Comment