作者d9003000 ()
看板C_and_CPP
標題[問題] File Merge sort
時間Wed Mar 25 00:28:41 2009
請教各位大大:
我想寫一個先從二個FILE裡都讀一個數字出來~
然後來做比較~
比較小的數字就存入第三個檔案裡~
譬如: a檔裡面有1,2,9
b檔裡面有7,4,11
1跟7比 然後把1存到第3個檔
2跟7比 然後把2存到第3個檔
9跟7比 然後把7存到第3個檔
..
以此類推....
我知道兩個陣列比較如何寫,程式如下
int main()
{
int a[5]={1,3,5,6,8};
int b[5]={2,4,7,9,10};
int sorted[10]={0};
Merge_sort(a,b,sort,5,5);
for (int i=0;i<10;i++)
printf("%d",sort[i]);
}
void Merge_sort(int a[],int b[],int sort[],int m,int n)
int i=0,j=0,k=0;
while (i<=m && j<=n){
if (a[i]<=b[j])
sort[k++]=a[i++];
else
sort[k++]=b[j++];
}
while(i<m)
sort[k++]=a[i++];
while(j<n)
sort[k++]=a[j++];
}
但是我不知道換成讀檔案的值要怎麼處理
麻煩各位大大幫我一下
P.S:寫檔跟讀檔我都知道如何寫
fp=fopen("D:\q.txt","w"); //write file
fp=fopen("D:\q.txt","r"); //read file
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.169.86.206
推 ledia:先全部讀到陣列裡, 然後再套用你原本的程式 ? 03/25 00:31
→ d9003000:我把a檔 跟b檔分別寫到矩陣裡,讀出來只有一個值..XD 03/25 00:34
推 tsaiminghan:樓上是什麼意思?能說法楚一些嗎? 03/25 00:51
→ d9003000:把a檔1,2,9 寫進去矩陣 但是矩陣讀出只有1 03/25 01:07
→ tsaiminghan:那你要把寫法po出來吧?不然怎麼知道是不是有寫錯? 03/25 01:09
推 uqljnro:1F正解 03/25 02:09
→ uqljnro:先讀到兩個陣列,再將這兩個陣列做比較不就ok啦 03/25 02:10