![]() |
PCDVD數位科技討論區
(https://www.pcdvd.com.tw/index.php)
- 七嘴八舌異言堂
(https://www.pcdvd.com.tw/forumdisplay.php?f=12)
- - 寫程式問題 有請高人入座
(https://www.pcdvd.com.tw/showthread.php?t=550183)
|
---|
N個數當然是宣告一個大小為N的陣列,M個數當然是宣告一個大小為M的陣列...
然後宣告一個大小為N+M的陣列,把前兩個陣列通通塞進去,然後sort... 你學C語言該不會連陣列都沒聽過吧... |
如果不排斥用 C++ 的話,可以用 std::vector 以及 std::sort 偷吃步 :cool:
|
引用:
C絕對可以.... 小弟沒學過C....所以正確的語法不敢亂寫.... 不過過程就像ElvisTu說的那樣....(大部分的程式) 宣告陣列a型態大小(N)等 宣告陣列b型態大小(M)等 宣告陣列C型態大小(N+M)等 開檔案(或record)a並帶入給 陣列a 開檔案(或record)b並帶入 給陣列b 陣列a + 陣列b之後丟給陣列C 排序陣列C 開新檔(指定要存放的地方) 寫入檔案(存入到剛剛那個新開的檔案) 真的就只是這樣.... |
引用:
原題目: A B兩各檔案 A裡面有N各數字 B裡面有M的數字 如何 合併 一各檔案 C 再由小至大排序 有大大可以解答嗎 如果不限語言及開發工具我這裡提供python程式 (手中沒工具可能有寫錯) 請用任何文字編輯器照著打,如果有錯請自行更正,另外所有的for迴圈區塊請務必縮排,畫面上我無法顯示縮排後的結果 檔名為:mergesort.py 執行方式: python mergesort.py # 開啟檔案A,B為讀取,C為寫入 A = r"A" B = r"B" C = r"C" fileA = open(A,'r') fileB = open(B,'r') fileC = open(C,'w') #將檔案A及B全部讀入到listA及listB(list若不懂當成陣列思考好了) listA = fileA.readlines() listB = fileB.readlines() # 宣告最後的結果為listC listC = [] #將listA及listB由字串轉成數值 for idxA in range(len(listA)): #如果有Enter將\r及\n變成空字串 listA[idxA] = listA[idxA].replace('\r','') listA[idxA] = listA[idxA].replace('\n','') #將字串轉成數值,如果不是int請自行取代成浮點數函數 listA[idxA] = int(listA[idxA]) #將數值存入listC listC.append(listA[idxA]) for idxB in range(len(listB)): #如果有Enter將\r及\n變成空字串 listB[idxB] = listB[idxB].replace('\r','') listB[idxB] = listB[idxB].replace('\n','') #將字串轉成數值,如果不是int請自行取代成浮點數函數 listB[idxB] = int(listB[idxB]) #將數值存入listC listC.append(listB[idxB]) #將listC排序之 listC.sort() #將排序後的結果存入檔案C for idxC in range(len(listC)): #將數值資料轉成文字,並加上Enter fileC.write(str(listC[idxC]) + '\n') #關閉所有檔案 flieA.close() fileB.close() fileC.close() |
高人 我正在啃食中 這算c++嗎
|
引用:
不知您在問誰?如果是問我的話我先給您提示 1.這是python原始碼,副檔名為.py,好像C語言的副檔名為.c一般 2.如果老師不限開發語言及工具,將我的程式將迴圈區塊縮排後,存成.py檔 如果沒錯誤的話(我post時手中無工具測試成功與否) 3.如果老師限制開發語言為C的話,請將我的原始碼改寫成C語言,這應該就是您的工作了 |
引用:
你應該不是讀資訊相關的吧 :flash: |
引用:
寫程式無捷徑 看完別人的範例後自己寫一個看看 寫程式好玩就在解法無限多 |
請問,如何修改eM(騾子)
PS. 門外漢 |
本來想想幫幫忙的 但是寫到一半發現卡住了 嗚~
請問該兩個檔案都是只有數字嗎? 比大小的方式是那種 123 32 8787 還是一個一個數字比的像是 5 2 3 1 3 4 的阿? 還有可以知道array 最大要開多大嘛? 不然好像要用alloc () 耶,忘光了.. 那個我要去翻書才會了. |
所有的時間均為GMT +8。 現在的時間是09:38 AM. |
vBulletin Version 3.0.1
powered_by_vbulletin 2025。