![]() |
||
Junior Member
![]() ![]() ![]() 加入日期: Aug 2004
文章: 883
|
N個數當然是宣告一個大小為N的陣列,M個數當然是宣告一個大小為M的陣列...
然後宣告一個大小為N+M的陣列,把前兩個陣列通通塞進去,然後sort... 你學C語言該不會連陣列都沒聽過吧... |
|||||||
![]() |
![]() |
Major Member
![]() 加入日期: Jun 2003 您的住址: where the light is
文章: 271
|
如果不排斥用 C++ 的話,可以用 std::vector 以及 std::sort 偷吃步
![]() |
||
![]() |
![]() |
Advance Member
![]() ![]() 加入日期: Nov 2003
文章: 375
|
引用:
C絕對可以.... 小弟沒學過C....所以正確的語法不敢亂寫.... 不過過程就像ElvisTu說的那樣....(大部分的程式) 宣告陣列a型態大小(N)等 宣告陣列b型態大小(M)等 宣告陣列C型態大小(N+M)等 開檔案(或record)a並帶入給 陣列a 開檔案(或record)b並帶入 給陣列b 陣列a + 陣列b之後丟給陣列C 排序陣列C 開新檔(指定要存放的地方) 寫入檔案(存入到剛剛那個新開的檔案) 真的就只是這樣.... |
|
![]() |
![]() |
*停權中*
加入日期: Apr 2005
文章: 17
|
引用:
原題目: 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() 此文章於 2005-10-19 07:59 PM 被 kiten 編輯. |
|
![]() |
![]() |
Basic Member
加入日期: Apr 2005
文章: 12
|
高人 我正在啃食中 這算c++嗎
|
![]() |
![]() |
*停權中*
加入日期: Apr 2005
文章: 17
|
引用:
不知您在問誰?如果是問我的話我先給您提示 1.這是python原始碼,副檔名為.py,好像C語言的副檔名為.c一般 2.如果老師不限開發語言及工具,將我的程式將迴圈區塊縮排後,存成.py檔 如果沒錯誤的話(我post時手中無工具測試成功與否) 3.如果老師限制開發語言為C的話,請將我的原始碼改寫成C語言,這應該就是您的工作了 |
|
![]() |
![]() |
Major Member
![]() 加入日期: Nov 2001 您的住址: 在門牌上
文章: 119
|
引用:
你應該不是讀資訊相關的吧 ![]()
__________________
![]() 2005.06.30 七星山主峰拍的 |
|
![]() |
![]() |
Advance Member
![]() ![]() 加入日期: Aug 2001 您的住址: 台北市
文章: 474
|
引用:
寫程式無捷徑 看完別人的範例後自己寫一個看看 寫程式好玩就在解法無限多
__________________
Canon EOS 400D/EF 70-200 F4 IS USM/EF-S 17-55 IS USM F2.8/Sigma 30 1.4/Sigma 10-20/430 EX |
|
![]() |
![]() |
Advance Member
![]() ![]() 加入日期: Nov 2004
文章: 357
|
請問,如何修改eM(騾子)
PS. 門外漢 |
![]() |
![]() |
Amateur Member
![]() 加入日期: Jul 2002
文章: 36
|
本來想想幫幫忙的 但是寫到一半發現卡住了 嗚~
請問該兩個檔案都是只有數字嗎? 比大小的方式是那種 123 32 8787 還是一個一個數字比的像是 5 2 3 1 3 4 的阿? 還有可以知道array 最大要開多大嘛? 不然好像要用alloc () 耶,忘光了.. 那個我要去翻書才會了. |
![]() |
![]() |