امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 4
  • 1
  • 2
  • 3
  • 4
  • 5
راهنمایی در مورد الگوریتم تبدیل عبارت infix به prefix
نویسنده پیام
megatron آفلاین
عضو افتخاری
****

ارسال‌ها: 228
موضوع‌ها: 48
تاریخ عضویت: فروردین ۱۳۸۷

تشکرها : 94
( 171 تشکر در 91 ارسال )
ارسال: #15
RE: راهنمایی در مورد الگوریتم تبدیل عبارت 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.
۱۹-آبان-۱۳۹۰, ۲۱:۲۶:۳۴
ارسال‌ها
پاسخ


پیام‌های داخل این موضوع
RE: راهنمایی در مورد الگوریتم تبدیل عبارت infix به prefix - توسط megatron - ۱۹-آبان-۱۳۹۰, ۲۱:۲۶:۳۴

موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  آموزش پردازش تصویر و بررسی الگوریتم های آن salehjg 34 41,214 ۲۸-بهمن-۱۳۹۶, ۱۸:۴۶:۴۶
آخرین ارسال: midel1
  تبدیل فایل های Word به تصویر (JPG) Di Di 11 90,929 ۰۸-بهمن-۱۳۹۳, ۰۳:۵۱:۳۰
آخرین ارسال: NO DONGLE
  الگوریتم minmax بازی نقطه و خط england 0 2,440 ۱۷-دى-۱۳۹۳, ۱۳:۵۲:۴۹
آخرین ارسال: england
  الگوریتم های زمان بندی در سیستم عامل ها pari_kh 7 27,187 ۲۰-آذر-۱۳۹۳, ۱۶:۰۴:۵۵
آخرین ارسال: نوشين سلماني
  [آموزشی] PDFها و فایل های آموزشی برای تبدیل فوریه و wavelet (موجک ها) salehjg 0 4,708 ۱۴-آذر-۱۳۹۳, ۰۲:۳۶:۴۰
آخرین ارسال: salehjg
  الگوریتم مورچگان مژده صباغ نژاد 11 15,260 ۲۰-آبان-۱۳۹۳, ۲۱:۳۹:۱۲
آخرین ارسال: javad917
  [فوری] الگوریتم sedi67 0 2,182 ۲۰-آبان-۱۳۹۳, ۰۰:۰۳:۱۵
آخرین ارسال: sedi67
  طراحی الگوریتم ها به صورت بازگشتی The.Ghost 2 7,274 ۲۷-آبان-۱۳۹۱, ۲۰:۵۱:۱۵
آخرین ارسال: lord_viper
Sad الگوریتم zahra.sh 12 12,292 ۲۷-آبان-۱۳۹۱, ۱۳:۲۲:۱۳
آخرین ارسال: akramn
  الگوریتم جمع آوری سایت های نیازمندی aleas 0 2,623 ۲۷-آبان-۱۳۹۱, ۱۲:۴۱:۱۹
آخرین ارسال: aleas

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع:

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS