dada_vahid
شنبه 23 اردیبهشت 1391, 19:31 عصر
با سلام دوستان من تیکه کدی نوشتم که infix رو به post fix تبدیل می کنه حالا میخوام همین وقتی infix رو میدم postfix و perdix رو چاب کنه
دوستان میدونم دارم جسارت میکنم ولی خیلی برام ضروری هستش با تشکر
//tavabe postfix va infix
void infixtopostfix(char* infix,char* postfix)
{
stack-char st;
st.push('#');
int i,j,len;
char x,y;
len=lenght(infix);
j=0;
for(i=0;i<len;i++)
{
x=infix[i];
if(isoperand(x)) //is operand baresi mikonad ke aya x amalvand ast ya na?
{postfix[j]=x;
j++;
}
else//agar amalvand nabud
{if(x=='(') //agar amalgar ya parantez baz bood
{st.push(x);
else if(x==')') //agar parantez baste bood
{
while(st.pop());
postfix[j]=y;
j++;
}
y=st.pop();
}
else
{
while(priority x(x)<priority stack(st.top stack))
{
y=st.pop();
postfix[j]=y;
j++;
}
st.push(x);
}
}//else
}//for
while(st.topstack()!='#')
{
y=st.pop();
postfix[j]=y;
j++;
}
postfix[j]=0;
}
دوستان میدونم دارم جسارت میکنم ولی خیلی برام ضروری هستش با تشکر
//tavabe postfix va infix
void infixtopostfix(char* infix,char* postfix)
{
stack-char st;
st.push('#');
int i,j,len;
char x,y;
len=lenght(infix);
j=0;
for(i=0;i<len;i++)
{
x=infix[i];
if(isoperand(x)) //is operand baresi mikonad ke aya x amalvand ast ya na?
{postfix[j]=x;
j++;
}
else//agar amalvand nabud
{if(x=='(') //agar amalgar ya parantez baz bood
{st.push(x);
else if(x==')') //agar parantez baste bood
{
while(st.pop());
postfix[j]=y;
j++;
}
y=st.pop();
}
else
{
while(priority x(x)<priority stack(st.top stack))
{
y=st.pop();
postfix[j]=y;
j++;
}
st.push(x);
}
}//else
}//for
while(st.topstack()!='#')
{
y=st.pop();
postfix[j]=y;
j++;
}
postfix[j]=0;
}