青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

The Fourth Dimension Space

枯葉北風寒,忽然年以殘,念往昔,語默心酸。二十光陰無一物,韶光賤,寐難安; 不畏形影單,道途阻且慢,哪曲折,如渡飛湍。斬浪劈波酬壯志,同把酒,共言歡! -如夢令

中綴表達式轉化為后綴表達式

//Copyright by abilitytao

//All right not reserved!!

 

 

#include 
<process.h>

#include 
<iostream.h>

#include 
<conio.h>

#include 
<stdlib.h>

#include 
<math.h>

#include 
<stack>

#include 
<cstring>

#include 
<ctype.h>

using namespace std;

 

struct formula

{

       
char numormark[100];

}
;

 

/**////////////////////////////////////////////////////////////

/////////////////////定義problem類/////////////////////////

///////////////////////////////////////////////////////////


 

class Aeasyproblem

{

private:

       
int formulalen;

       
char temp[1000];

       formula 
in[1000];

       formula pos[
1000];

public:

       
void inputtheformula();

       
void intoin();//用于將中綴表達式放入結構體數組,從而實現數字與運算符的分離;

       
void intopos();//用于將中綴表達式轉化成后綴表達式;

       
void showthepos();

}
;

 

void Aeasyproblem::inputtheformula()

{

       cin
>>temp;

}


void Aeasyproblem::intoin()//這是用于解析輸入的字符串的函數,將算式中的每個個體存入自己聲明的結構體中;

{

       formulalen
=0;

       
int templen;

       
int temlen;

       
char tem[100];

 

      

       templen
=strlen(temp);

       
int i;

       
int j;

       j
=0;

       
for(i=0;i<templen;i+=temlen)

       
{

              
if(isdigit(temp[i]))

              
{

                     sscanf(
&temp[i],"%[^-^+^*^/^(^)]",tem);

                     temlen
=strlen(tem);

                     strcpy(
in[j].numormark,tem);

                     formulalen
++;

                     j
++;

              }


              
else

              
{

                     temlen
=1;

                     
in[j].numormark[0]=temp[i];

                     
in[j].numormark[1]='\0';

                     formulalen
++;

                     j
++;

              }


       }


}


 

 

 

 

void Aeasyproblem::intopos()//這是用于將中綴表達式轉化成后綴表達式的函數

{

       
/**//////////////////'(' ')''+''-''*''/''='

       
static int isp[7]=0,19,12,12,13,13,0};

       
static int icp[7]={20,19,12,12,13,13,0};

       
int precedence_sta;

       
int precedence_token;

 

       stack
<formula>sta;

       
int i;

       
int j;

       
char token[100];

       formula start;

       strcpy(start.numormark,
"\0");

       sta.push(start);

       j
=0;

       
for(i=0;i<formulalen;i++)

       
{

             

              strcpy(token,
in[i].numormark);

              
if(strcmp(token,"\0")==0)

                     
break;

              
if(isdigit(token[0]))

              
{

                     strcpy(pos[j].numormark,token);

                     j
++;

              }


              
else if(strcmp(token,")")==0)

              
{

                     
while(strcmp(sta.top().numormark ,"(")!=0)

                     
{

                            strcpy(pos[j].numormark,sta.top().numormark);

                            j
++;

                            sta.pop();

                     }


                     sta.pop();

              }


              
else

              
{

                            
if(strcmp(sta.top().numormark,"(")==0)

                                   precedence_sta
=0;

                            
if(strcmp(sta.top().numormark,")")==0)

                                   precedence_sta
=19;

                            
if(strcmp(sta.top().numormark,"+")==0)

                                   precedence_sta
=12;

                            
if(strcmp(sta.top().numormark,"-")==0)

                                   precedence_sta
=12;

                            
if(strcmp(sta.top().numormark,"*")==0)

                                   precedence_sta
=13;

                            
if(strcmp(sta.top().numormark,"/")==0)

                                   precedence_sta
=13;

                            
if(strcmp(sta.top().numormark,"\0")==0)

                                   precedence_sta
=0;

                            
if(strcmp(token,"(")==0)

                                   precedence_token
=20;

                            
if(strcmp(token,")")==0)

                                   precedence_token
=19;

                            
if(strcmp(token,"+")==0)

                                   precedence_token
=12;

                            
if(strcmp(token,"-")==0)

                                   precedence_token
=12;

                            
if(strcmp(token,"*")==0)

                                   precedence_token
=13;

                            
if(strcmp(token,"/")==0)

                                   precedence_token
=13;

                            
if(strcmp(token,"\0")==0)

                                   precedence_token
=0;

                     
while(precedence_sta>=precedence_token)

                     
{

                                   pos[j]
=sta.top();

                                   j
++;

                                   sta.pop();

                            
if(strcmp(sta.top().numormark,"(")==0)

                                   precedence_sta
=0;

                            
if(strcmp(sta.top().numormark,")")==0)

                                   precedence_sta
=19;

                            
if(strcmp(sta.top().numormark,"+")==0)

                                   precedence_sta
=12;

                            
if(strcmp(sta.top().numormark,"-")==0)

                                   precedence_sta
=12;

                            
if(strcmp(sta.top().numormark,"*")==0)

                                   precedence_sta
=13;

                            
if(strcmp(sta.top().numormark,"/")==0)

                                   precedence_sta
=13;

                            
if(strcmp(sta.top().numormark,"\0")==0)

                                   precedence_sta
=0;

                            
if(strcmp(token,"(")==0)

                                   precedence_token
=20;

                            
if(strcmp(token,")")==0)

                                   precedence_token
=19;

                            
if(strcmp(token,"+")==0)

                                   precedence_token
=12;

                            
if(strcmp(token,"-")==0)

                                   precedence_token
=12;

                            
if(strcmp(token,"*")==0)

                                   precedence_token
=13;

                            
if(strcmp(token,"/")==0)

                                   precedence_token
=13;

                            
if(strcmp(token,"\0")==0)

                                   precedence_token
=0;

                     }


                     strcpy(start.numormark,token);

                    

                            sta.push(start);

              }


       }


       
while(strcpy(token,sta.top().numormark))

 

       
{

              
if(strcmp(token,"\0")==0)

                     
break;

              pos[j]
=sta.top();

              j
++;

              sta.pop();

       }


       strcpy(pos[j].numormark,
"\0");

 

}


 

void Aeasyproblem::showthepos()

{

       
int i;

       
for(i=0;strcmp(pos[i].numormark,"\0")!=0;i++)

       
{

             

              cout
<<pos[i].numormark<<' ';

 

       }


       cout
<<'\b'<<endl<<endl;

      

}


/**////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////Problem類定義完成/////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////


 

 

 

int main ()

{

       Aeasyproblem justforfun;

       
while(1)

       
{

              justforfun.inputtheformula();

              justforfun.intoin();

              justforfun.intopos();

              justforfun.showthepos();

       }


       
return 0;

}

posted on 2009-07-14 16:37 abilitytao 閱讀(407) 評論(0)  編輯 收藏 引用

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲欧美中日韩| 欧美日韩视频在线一区二区观看视频| 欧美福利视频网站| 亚洲精品乱码久久久久久日本蜜臀| 欧美成人小视频| 欧美区二区三区| 午夜一区不卡| 卡通动漫国产精品| 亚洲视频成人| 午夜精品久久久久久久99黑人| 9l国产精品久久久久麻豆| 国产精品超碰97尤物18| 亚洲综合视频一区| 久久精品国产精品亚洲综合 | 亚洲一区二区三区久久| 国产一区二区按摩在线观看| 麻豆av一区二区三区| 欧美电影打屁股sp| 亚洲欧美偷拍卡通变态| 久久综合九色综合久99| 亚洲午夜在线观看视频在线| 欧美一级淫片播放口| 亚洲乱码一区二区| 亚洲欧美日韩在线播放| 亚洲精品你懂的| 亚洲欧美日韩国产一区| a91a精品视频在线观看| 在线观看的日韩av| 亚洲人成在线观看一区二区| 欧美日韩免费网站| 美女视频一区免费观看| 国产精品视频免费观看| 欧美电影电视剧在线观看| 国产欧美三级| 日韩视频一区二区在线观看| 好吊色欧美一区二区三区视频| 最新国产成人av网站网址麻豆| 国产精品日韩精品欧美在线| 最近中文字幕日韩精品| 激情文学一区| 午夜精品国产更新| 亚洲一二三区在线观看| 欧美成人中文字幕| 久久综合福利| 国产一区二区三区久久久| 亚洲精品免费在线播放| 亚洲第一页中文字幕| 欧美在线欧美在线| 亚洲欧美日韩精品久久| 久久久人成影片一区二区三区| 亚洲自拍偷拍麻豆| 欧美激情按摩| 欧美激情小视频| 一区一区视频| 午夜国产欧美理论在线播放| 一区免费观看| 久久久久久久久久久久久9999| 欧美一区二区三区成人| 国产精品日韩专区| 亚洲新中文字幕| 亚洲资源av| 国产精品福利片| 亚洲伊人一本大道中文字幕| 亚洲欧美激情视频| 国产精品扒开腿做爽爽爽软件| 亚洲作爱视频| 亚洲综合二区| 欧美午夜影院| 亚洲欧美日韩成人| 久久人人爽人人| 亚洲国产另类久久精品| 欧美精品首页| 亚洲一区二区免费| 久久精品视频在线观看| 国产一区日韩欧美| 卡通动漫国产精品| 亚洲伦理网站| 欧美在线精品免播放器视频| 国内精品视频在线播放| 欧美不卡在线视频| 亚洲伦理网站| 久久精品中文字幕一区| 在线看国产一区| 欧美精品一区二区三| 亚洲天堂av电影| 毛片精品免费在线观看| 日韩网站在线看片你懂的| 欧美三日本三级少妇三2023 | 亚洲女爱视频在线| 国产婷婷97碰碰久久人人蜜臀| 久久久久久999| 亚洲精品永久免费精品| 欧美一级黄色录像| 亚洲国产午夜| 国产欧美日韩亚洲一区二区三区| 久久久91精品国产一区二区精品| 亚洲国产精品一区二区三区| 亚洲伊人一本大道中文字幕| 黄色国产精品| 国产精品高潮久久| 噜噜噜在线观看免费视频日韩| 亚洲精品久久嫩草网站秘色| 欧美一区二区在线免费播放| 精品动漫一区二区| 国产精品海角社区在线观看| 久久久久久亚洲精品中文字幕| 99国产精品视频免费观看| 快播亚洲色图| 亚洲欧美日韩爽爽影院| 亚洲精品日韩在线| 国产一区二区欧美日韩| 欧美日韩精品一区二区三区| 久久精品视频在线播放| 亚洲色图综合久久| 亚洲精品国产欧美| 久久综合一区二区| 久久精品91久久久久久再现| 国产精品99久久久久久白浆小说| 揄拍成人国产精品视频| 国产欧美日韩另类一区| 欧美视频在线观看视频极品| 欧美国产日韩视频| 久久综合九九| 久久久精品国产免费观看同学| 亚洲欧美另类中文字幕| 亚洲日本中文字幕| 欧美大尺度在线| 久久中文字幕一区| 久久久免费精品视频| 欧美专区日韩专区| 亚洲欧美国产va在线影院| 亚洲人成精品久久久久| 欧美激情按摩| 欧美激情亚洲精品| 亚洲国产mv| 亚洲国产一区二区三区a毛片| 久久综合色一综合色88| 美玉足脚交一区二区三区图片| 久久久天天操| 久久综合导航| 欧美激情1区2区| 亚洲激精日韩激精欧美精品| 亚洲福利av| 日韩一级视频免费观看在线| 亚洲精品欧美极品| 在线视频免费在线观看一区二区| 中国成人黄色视屏| 亚洲自拍偷拍福利| 久久av一区二区三区漫画| 久久精品国产第一区二区三区| 久久久91精品| 欧美激情偷拍| 欧美私人啪啪vps| 国产精品一区二区三区久久| 国产欧美一区二区视频| 韩国成人精品a∨在线观看| 亚洲国产成人一区| 一本久久精品一区二区| 午夜精品一区二区三区电影天堂| 欧美一级片久久久久久久| 久久亚洲私人国产精品va| 欧美mv日韩mv国产网站app| 亚洲大片精品永久免费| 日韩视频一区二区在线观看| 午夜免费久久久久| 麻豆freexxxx性91精品| 欧美日韩情趣电影| 国产午夜精品麻豆| 最新国产拍偷乱拍精品| 亚洲视频在线观看三级| 久久精品国产999大香线蕉| 欧美激情视频免费观看| av成人免费观看| 久久久久久91香蕉国产| 欧美日韩国产色站一区二区三区| 国产精品美女www爽爽爽| 黄色一区二区在线观看| 亚洲视频日本| 欧美.日韩.国产.一区.二区| 在线亚洲电影| 久久一区国产| 国产精品欧美日韩一区二区| 亚洲第一在线综合网站| 亚洲女同在线| 亚洲国产裸拍裸体视频在线观看乱了中文 | 国产九九视频一区二区三区| 亚洲高清不卡| 久久国产精品高清| 亚洲精品国产精品乱码不99按摩 | 免费在线成人av| 亚洲一区制服诱惑| 欧美精品三级日韩久久| 精品不卡视频| 欧美一级欧美一级在线播放| 91久久精品久久国产性色也91| 欧美一区激情视频在线观看| 国产精品国产三级国产aⅴ入口 | 久久精品一区二区三区四区| 亚洲伦理网站| 欧美肥婆bbw|