文本器ahoi2006解題報(bào)告editor原題_第1頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、文本編輯器(editor)這些日子,可可不和卡卡一起玩了,原來可可正廢寢忘食的想做一個(gè)簡(jiǎn)單而高效的文本編輯器。你能幫助他嗎?為了明確任務(wù)目標(biāo),可可對(duì)“文本編輯器”做了一個(gè)抽象的定義:文本:由0個(gè)或多個(gè)字符構(gòu)成的序列。這些字符的ASCII碼在閉區(qū)間32, 126內(nèi),也就是說,這些字符均為可見字符或空格。光標(biāo):在一段文本中用于指示位置的標(biāo)記,可以位于文本的第一個(gè)字符之前,文本的最后一個(gè)字符之后或文本的某兩個(gè)相鄰字符之間。文本編輯器:為一個(gè)可以對(duì)一段文本和該文本中的一個(gè)光標(biāo)進(jìn)行如下七條操作的程序。如果這段文本為空,我們就說這個(gè)文本編輯器是空的。操作名稱輸入文件中的格式功能MOVE(k)Move k將

2、光標(biāo)移動(dòng)到第k個(gè)字符之后,如果k=0,將光標(biāo)移到文本第一個(gè)字符之前INSERT(n, s)Insert nS在光標(biāo)后插入長(zhǎng)度為n的字符串s,光標(biāo)位置不變,n 1DELETE(n)Delete n刪除光標(biāo)后的n個(gè)字符,光標(biāo)位置不變,n 1ROTATE(n)Rotate n反轉(zhuǎn)光標(biāo)后的n個(gè)字符,光標(biāo)位置不變,n 1GET()Get輸出光標(biāo)后的一個(gè)字符,光標(biāo)位置不變PREV()Prev光標(biāo)前移一個(gè)字符NEXT()Next光標(biāo)后移一個(gè)字符比如從一個(gè)空的文本編輯器開始,依次執(zhí)行下表中操作,可以有對(duì)應(yīng)的結(jié)果:操作操作前的文本操作后的結(jié)果INSERT(13, “Balancedeert”)|(只有光標(biāo),文本

3、為空)|BalancedeertMOVE(2)|BalancedeertBa|lancedeertDELETE(5)Ba|lancedeertBa|deertNEXT()Ba|deertBad|eertINSERT(7, “editor”),Bad|eertBad|editoreertMOVE(0)Bad|editoreert|BadeditoreertGET()|Badeditoreert輸出“B”MOVE(11)|BadeditoreertBadeditor|eertROTATE(4)Badeditor|eertBadeditor|treeGET()Badeditor|tree輸出“t”上

4、表中,“|”表示光標(biāo),“”表示空格。任務(wù)編寫一個(gè)程序:建立一個(gè)空的文本編輯器。從輸入文件中讀入一些操作指令并執(zhí)行。對(duì)所有執(zhí)行過的GET操作,將指定的內(nèi)容寫入輸出文件。輸入格式輸入文件中第一行是指令條數(shù)N,以下是需要執(zhí)行的N個(gè)操作。除了回車符之外,輸入文件的所有字符的ASCII碼都在閉區(qū)間32, 126內(nèi)。且行尾沒有空格。輸出格式輸出文件editor.out的每行依次對(duì)應(yīng)輸入文件中每條GET指令的輸出,不得有任何多余的字符。輸入樣例10Insert 13Balanced eertMove 2Delete 5NextInsert 7 editorMove 0GetMove 11Rotate 4Get輸出樣例Bt數(shù)據(jù)約束和評(píng)分方法對(duì)輸入數(shù)據(jù)我們有如下假定:MOVE操作不超過50 000個(gè),INSERT、DELETE和ROTATE操作作的總個(gè)數(shù)不超過6 000,GET操作不超過20 000個(gè),PREV和NEXT操作的總個(gè)數(shù)不超過20 000。所有INSERT插入的字符數(shù)之和不超過2M(1M=1 024*1 024)。DELETE操作、ROTATE操作和GET操作執(zhí)行時(shí)光標(biāo)后必然有足夠的字符。MOVE、PREV、NEXT操作不會(huì)把光標(biāo)移動(dòng)到非法位置。輸入文件沒有錯(cuò)誤。對(duì)C+選手的提示:經(jīng)測(cè)試,對(duì)最大的測(cè)試數(shù)據(jù)使用fstream進(jìn)行輸入有可能會(huì)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論