找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
發表文章前請先閱讀相關版規尊貴會員無限下載附件伊莉需要你的贊助和支持
無碼mg霹靂fatemgrpg
hbad 479gangbang君島cemd 416cemd 431アメリ勇往直前

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

[繁]從Lv2開始開外掛

(4月新番)[繁]怪人的

(4月新番)[繁]恰如細

[繁]劇場版 鬼太郎誕

[繁]神明渴求著遊戲。

花蓮太魯閣因地震造成
C & C++ 語言C# 語言Visual Basic 語言PHP 語言JAVA 語言
查看: 1223|回復: 6
打印上一主題下一主題

[作業]資料結構作業 c++程式 急!!![複製鏈接]

a1070180 該用戶已被刪除
跳轉到指定樓層
樓主
發表於 2011-11-29 05:02 PM|只看該作者|倒序瀏覽
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。
資料結構(急)!!!!
寫一個程式用後序表示法跟STACK計算數學式符合下列條件
1.輸入一個後序表示法的檔案"postfix_input.txt"
檔案內容是這樣 30 4 / 4 9 + 6 3 - * 4 * - (這是例子可以隨便設)
表示法必須包含運算元跟運算子,運算子可用+ - * / %,運算元可用小數,數字跟符號中間要有空格
⋯⋯ 2.中間計算過程跟結果要顯示出來,最後輸出到“postfix_output.txt”
...
瀏覽完整內容,請先 註冊登入會員
分享分享0收藏收藏0支持支持0

使用道具檢舉

Rank: 2Rank: 2

帖子
165
積分
519 點
潛水值
27929 米
頭香
發表於 2011-11-29 05:41 PM|只看該作者
以下是我會用的作法

利用link list的方式將讀進來的資料一個一個塞進去

遇到運算符號, 就將最新的兩個數字丟出來運算後傳進去
若有安裝色情守門員,可用無界、自由門等軟件瀏覽伊莉。或使用以下網址瀏覽伊莉: http://www.eyny.com:81/index.php

使用道具檢舉

a1070180 該用戶已被刪除
3
發表於 2011-11-29 06:10 PM|只看該作者
可以說詳細一點嘛??  還是有點不懂  謝謝~

使用道具檢舉

Rank: 3Rank: 3Rank: 3

帖子
722
積分
2721 點
潛水值
16557 米
4
發表於 2011-11-29 06:24 PM|只看該作者
就像過程輸出第一行右上角寫的那樣,這題要使用 stack 這種結構
只要你讀出來的資料是運算元,就丟進 stack 裡
當你讀到運算子,就從 stack 裡 pop 兩筆運算元出來,做完運算後再將結果丟進 stack 裡
  1. while( token = readToken() && !EOF ){
  2.     if( token == operand  ){
  3.         stack.push( token );
  4.     }
  5.     else{
  6.         if( stack.size < 2 ){
  7.             // 輸出錯誤訊息
  8.             break;
  9.         }
  10.         operand1 = stack.pop();
  11.         operand2 = stack.pop();
  12.         // 計算
  13.         stack.push( result );
  14.         // 輸出計算過程與 stack 內容
  15.     }
  16. }
  17. // 輸出計算結果
複製代碼
...
瀏覽完整內容,請先 註冊登入會員
回覆中加入附件並不會使你增加積分,請使用主題方式發佈附件。

使用道具檢舉

a1070180 該用戶已被刪除
5
發表於 2011-11-29 11:28 PM|只看該作者
所以呢??  不會再問程式
想必你也來看這邊有沒有程式




使用道具檢舉

Rank: 3Rank: 3Rank: 3

帖子
722
積分
2721 點
潛水值
16557 米
6
發表於 2011-11-30 10:36 AM|只看該作者
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。
所以呢??  不會再問程式
想必你也來看這邊有沒有程式
a1070180 發表於 2011-11-29 11:28 PM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員


你想表達什麼...
瀏覽完整內容,請先 註冊登入會員

使用道具檢舉

Rank: 2Rank: 2

帖子
165
積分
519 點
潛水值
27929 米
7
發表於 2011-11-30 11:16 AM|只看該作者
借花獻佛~

我沒有將判斷和運算的部份放上來

記錄過程的部份也沒有加上

可以自己試一下
  1. int _tmain(int argc, _TCHAR* argv[])
  2. {
  3.         char szData[128];                        //準備運算的字串
  4.         sp rintf(szData, "30 4 / 4 9 + 6 3 - * 4 * -");                //隨便一串資料

  5.         char sp lit[4] = " ", *token;                //分割字串需要的參數
  6.         stack <float> stackData;
  7.         float fTemp  = 0, fFirst = 0, fSecond = 0;

  8.         token = strtok(szData, sp lit);

  9.         //將資料分割
  10.         while(token != NULL)
  11.         {
  12.                 //確認是否為運算符號
  13.                 if (IsOp erator(*token))
  14.                 {
  15.                         //確認stack裡的資料足夠
  16.                         if (stackData.size() < 2)
  17.                         {
  18.                                 break;
  19.                         }

  20.                         //將資料從stack中讀出
  21.                         fSecond = stackData.top ();
  22.                         stackData.p op ();
  23.                         fFirst = stackData.top ();
  24.                         stackData.p op ();

  25.                         //進行運算
  26.                         fTemp  = Calculate(fFirst, fSecond, *token);

  27.                         //將數字丟到stack中
  28.                         stackData.p ush(fTemp );
  29.                 }
  30.                 else
  31.                 {
  32.                         //將數字丟到stack中
  33.                         fTemp  = atof(token);
  34.                         stackData.p ush(fTemp );
  35.                 }

  36.                 token = strtok(NULL, sp lit);
  37.         }

  38.         //輸入字串錯誤
  39.         if (stackData.size() != 1)
  40.         {}
  41.         else
  42.         {
  43.                 fTemp  = stackData.top ();

  44.                 sp rintf(szData, "The answer is %f", fTemp );

  45.                 p rintf(szData);
  46.         }

  47.         system("p ause");

  48.         return 0;

  49. }
複製代碼
...
瀏覽完整內容,請先 註冊登入會員

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部