السلام عليكم
ممكن المساعده في تصيحيح هذا الكود
لان بصراحة مليت اني احاول بيه و ما جاي ينفذ
infext to postfix
#include<iostream.h> #include<string.h> const size=100 ; char st[size],st2[size]; char item , item2; int i , n , t , t2 ,x ; void clearst() { t==-1 ; t2==-1; } void push(char item) { t=t+1; st[t]=item ; } void display(){ for(i=t;i>=0;i--) cout<<st<<""; } //-------------------------- void push2(char item2) { t2=t2+1; st2[t2]=item2 ; x=x+1; } void pop() { x=x-1 ; item2=st2[t2]; t2=t2-1; } void display2() { if(t2==-1) cout<<"EMP"<<endl; else{ for(i=t2;i>=0;i--) cout<<st2<<""; } } main() { x=t2-1 ; char s[100] ; cin>>s; n=strlen(s); for(i=0;i<n;i++) { if(s!='+'&&s!='-'&&s!='='&&s!='*'&&s!='/'&&s!='^'&&s!='('&&s!=')') push(s); else{//1 if(t2==-1) push2(s); else{//2 if(s=='('||s=='^') push2(s); else{//3 switch(s){ //4 case '+'||'-' : if(s[t2]=='+'||st2[t2]=='-')//if1 { while(st2[t2]!='+'&&st2[t2]!='-') { push(st2[t2]) ; pop(); } push2(s); }//if1 else push2(s); break ; case '*' : if(st2[t2]=='*'||st2[t2]=='/'||st2[t2]=='^') //if2 { while(st2[t2]!='*'&&st2[t2]!='/'&&st2[t2]!='^') { push(st2[t2]); pop(); } push2(s); }//if2 else push2(s); break ; case '/' : if(st2[t2]=='*'||st2[t2]=='/'||st2[t2]=='^') //if2 { while(st2[t2]!='*'&&st2[t2]!='/'&&st2[t2]!='^') { push(st2[t2]); pop(); } push2(s); }//if2 else push2(s); break ; case '(' : while(st2[t2]!='('){ push(st2[t2]) ; pop();} //while break ; case '=' : while(st2[t2]!='='){ push(st2[t2]) ; pop();} //while break ; }//switch }//else }//else2 }//else3 } if(t2==-1) { for(i=t2;i>=0;i--) push(st2); } display() ; display2(); }ارجوووكم