看板 b93902HW 關於我們 聯絡資訊
題目: HTML/XML 原始碼的 parsing 與 print 本作業的輸入為一個文字檔 ds.html, 內容為標準 HTML 碼。 ds.html 範例: <html> <head> <title> This is a sample page </title> </head> <body> <table> <tr> <td> (1,1) </td> <td> (1,2) </td> </tr> <tr> <td> (2,1) </td> <td> (2,2) </td> </tr> <tr> <td> (3,1) </td> <td> (3,2) </td> </tr> </table> </body> </html> (1) 使用 stack 印出成對的HTML tag,非tag 則不印。 作法是掃描每一行,此時會有三種情形,分別有三種處理對策: 1.左tag (如<td>): 加入stack 2.內文(如 (1,1)): 丟棄 3.右tag (如</td>):刪除stack,並印出刪除的tag 例如上面的ds.html 應該印出 <title< </title> <head> </head> <td> </td> <td> </td> <tr> </tr> <td> </td> <td> </td> <tr> </tr> <td> </td> <td> </td> <tr> </tr> <table> </table> <body> </body> <html> </html> (2) 使用 stack 計算 HTML 檔的depth (見圖一,depth=垂直方向節點數)。例如圖一, depth=6。 注意此題不需用到 generalized list,直接用 stack 即可。 不好意思 因為一直看書 之後用DEV C++去做 發現很多困難 讀檔方面 我用ifstream inFile(*) 下去開 可是只能讀書純文字方面 用到有<> 這些 他就讀不出來= = 希望有高手能幫忙一下 那個前面的是ds.html檔案內的內容 那是html的語法 用dev c++寫程式 讀那個檔案 把<xx> 部分的把他存到堆疊 之後遇到</xx> 把他們都提出來 要成雙成對 最後就會出現結果 結果如上 煩請高手幫忙 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.128.196.74