PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 七嘴八舌異言堂
帳戶
密碼
 

  回應
 
主題工具
isamuplus
Junior Member
 

加入日期: Aug 2004
文章: 883
N個數當然是宣告一個大小為N的陣列,M個數當然是宣告一個大小為M的陣列...
然後宣告一個大小為N+M的陣列,把前兩個陣列通通塞進去,然後sort...

你學C語言該不會連陣列都沒聽過吧...
     
      
舊 2005-10-19, 01:26 AM #11
回應時引用此文章
isamuplus離線中  
capitalm
Major Member
 
capitalm的大頭照
 

加入日期: Jun 2003
您的住址: where the light is
文章: 271
如果不排斥用 C++ 的話,可以用 std::vector 以及 std::sort 偷吃步
 
舊 2005-10-19, 01:34 AM #12
回應時引用此文章
capitalm離線中  
zick.char
Advance Member
 
zick.char的大頭照
 

加入日期: Nov 2003
文章: 375
引用:
作者kurt66
用C 是否寫的出來呢

我考試要用什麼AEGOXX 我不懂

C絕對可以....
小弟沒學過C....所以正確的語法不敢亂寫....
不過過程就像ElvisTu說的那樣....(大部分的程式)

宣告陣列a型態大小(N)等
宣告陣列b型態大小(M)等
宣告陣列C型態大小(N+M)等
開檔案(或record)a並帶入給 陣列a
開檔案(或record)b並帶入 給陣列b
陣列a + 陣列b之後丟給陣列C
排序陣列C
開新檔(指定要存放的地方)
寫入檔案(存入到剛剛那個新開的檔案)

真的就只是這樣....
舊 2005-10-19, 01:40 AM #13
回應時引用此文章
zick.char離線中  
kiten
*停權中*
 
kiten的大頭照
 

加入日期: Apr 2005
文章: 17
引用:
作者kurt66
用C 是否寫的出來呢

我考試要用什麼AEGOXX 我不懂


原題目:
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 編輯.
舊 2005-10-19, 07:56 PM #14
回應時引用此文章
kiten離線中  
kurt66
Basic Member
 

加入日期: Apr 2005
文章: 12
高人 我正在啃食中 這算c++嗎
舊 2005-10-19, 07:58 PM #15
回應時引用此文章
kurt66離線中  
kiten
*停權中*
 
kiten的大頭照
 

加入日期: Apr 2005
文章: 17
引用:
作者kurt66
高人 我正在啃食中 這算c++嗎

不知您在問誰?如果是問我的話我先給您提示
1.這是python原始碼,副檔名為.py,好像C語言的副檔名為.c一般
2.如果老師不限開發語言及工具,將我的程式將迴圈區塊縮排後,存成.py檔
如果沒錯誤的話(我post時手中無工具測試成功與否)
3.如果老師限制開發語言為C的話,請將我的原始碼改寫成C語言,這應該就是您的工作了
舊 2005-10-19, 08:05 PM #16
回應時引用此文章
kiten離線中  
boyman
Major Member
 
boyman的大頭照
 

加入日期: Nov 2001
您的住址: 在門牌上
文章: 119
引用:
作者kurt66
高人 我正在啃食中 這算c++嗎


你應該不是讀資訊相關的吧
__________________

2005.06.30 七星山主峰拍的
舊 2005-10-19, 08:07 PM #17
回應時引用此文章
boyman離線中  
metadata
Advance Member
 

加入日期: Aug 2001
您的住址: 台北市
文章: 474
引用:
作者kurt66
高人 我正在啃食中 這算c++嗎


寫程式無捷徑
看完別人的範例後自己寫一個看看
寫程式好玩就在解法無限多
__________________

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
舊 2005-10-19, 10:39 PM #18
回應時引用此文章
metadata離線中  
UP-UP
Advance Member
 
UP-UP的大頭照
 

加入日期: Nov 2004
文章: 357
請問,如何修改eM(騾子)
PS. 門外漢
舊 2005-10-20, 04:38 AM #19
回應時引用此文章
UP-UP離線中  
cowbayla
Amateur Member
 

加入日期: Jul 2002
文章: 36
本來想想幫幫忙的 但是寫到一半發現卡住了 嗚~

請問該兩個檔案都是只有數字嗎?

比大小的方式是那種 123 32 8787 還是一個一個數字比的像是 5 2 3 1 3 4 的阿?

還有可以知道array 最大要開多大嘛? 不然好像要用alloc () 耶,忘光了..

那個我要去翻書才會了.
舊 2005-10-20, 08:21 AM #20
回應時引用此文章
cowbayla離線中  


    回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是01:56 PM.


vBulletin Version 3.0.1
powered_by_vbulletin 2025。