الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

infext to postfix

بدأه Luna Volver A salir في 3 يناير 2015 · 0 رد · 642 مشاهدة · في لغة C و ++C
مشاركة: واتساب X فيسبوك تيليجرام
#1

السلام عليكم

ممكن المساعده في تصيحيح هذا الكود

لان بصراحة مليت اني احاول بيه و ما جاي ينفذ

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();                   }

ارجوووكم

مواضيع مشابهة