ايران ويج

نسخه‌ی کامل: راهنمایی در مورد الگوریتم تبدیل عبارت infix به prefix
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
سلام
من بر عکس برنامه بالا رو می خواهم خواهش می کنم کمکم کنید
یعنی عبارتprefixرا به infixتبدیل کند
سلام بر همگی
خسته نباشید خصوصا جناب Mamad2003
شرمنده. راستش صادقانه بخوام بگم من فقط برای پرسیدن یه سری سوال عضو شدم و البته اگه بتونم و اجازه داشته باشم -چون من هنوز به قوانین سایت آشنا نیستم- به سوالای کابرای دیگه تا جایی که بتونم جواب میدم. حالا واقعا نمیدونم اینجا جای این حرفا بود یا نه! اما حداقل بزارین به حساب مقدمه چینی...! Shy
و اما سوال بنده:
اینجا و تو گوگل هرچی گشتم فقط الگوریتم تبدیل infix به postfix رو دیدم البته هست اما خیلی مختصره.ممنون میشم اگه تا آخر شب یا حداکثر 9 صبح فردا الگوریتم بقیه تبدیلها (infix به prefix ، prefix به infix و ...) رو هم بذارین.
الهی که هرکی میذاره خیر ببینهWink
سلام دوست عزیز میشه برنامه ی تبدیل infix به perfix و postfix بنویسید؟!!!یا ی کمکی کنید؟
سلام دوست عزیز میشه برنامه ی تبدیل infix به perfix و postfix بنویسید؟!!!یا ی کمکی کنید؟
سلام دوست عزیز میشه برنامه ی تبدیل infix به perfix و postfix بنویسید؟!!!یا ی کمکی کنید؟
سلام دوست عزیز میشه لطفا برنامه تبدیل infix به prefix را بنویسید.
سلام.
بیا برنامه تبدیل infix به postfix

کد:
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
//--------------------
int IsFull();
int IsEmpty();
void Push(int x);
void Pop(int &x);
//--------------------
const int MaxSize=8;
int Top=-1;
int Stack[MaxSize];
//--------------------
void main()
{
   char e[20];
   int value;
   int x1,x2;
   clrscr();
   cout<<"\nEnter expression:";
   cin>>e;
   //Starting eval algorithm
   for(int i=0;e[i]!='\0';i++)
      if (e[i]>='0' && e[i]<='9')
      {
    //oprand
    value=e[i]-'0';
    Push(value);
      }
      else
      {
     //operator
     Pop(x2);
     Pop(x1);
     switch( e[i] )
     {
       case '*': Push(x1*x2);
             break;
       case '/': Push(x1/x2);
             break;
       case '+': Push(x1+x2);
             break;
       case '-': Push(x1-x2);
             break;
       default : cout<<"invalid expression.";
     }//End switch
      }//End else
      Pop(value);
      if (!IsEmpty())
    cout<<"invalid expression.";
      else
    cout<<"expression= "<<value;
     getch();
}//End main
//--------------------
int IsFull()
{
   if(Top==MaxSize-1)
       return 1;
   else
       return 0;
}
//--------------------
int IsEmpty()
{
   if(Top==-1)
       return 1;
   else
       return 0;
}
//--------------------
void Push(int x)
{
   if(IsFull())
       cout<<"\nStak is full.";
   else
       Stack[++Top]=x;
}
//--------------------
void Pop(int &x)
{
   if(IsEmpty())
       cout<<"\nStak is Empty.";
   else
       x=Stack[Top--];
}
//--------------------
//End.
صفحه‌ها: 1 2