作者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
1F:推 ledia:先全部读到阵列里, 然後再套用你原本的程式 ? 03/25 00:31
2F:→ d9003000:我把a档 跟b档分别写到矩阵里,读出来只有一个值..XD 03/25 00:34
3F:推 tsaiminghan:楼上是什麽意思?能说法楚一些吗? 03/25 00:51
4F:→ d9003000:把a档1,2,9 写进去矩阵 但是矩阵读出只有1 03/25 01:07
5F:→ tsaiminghan:那你要把写法po出来吧?不然怎麽知道是不是有写错? 03/25 01:09
6F:推 uqljnro:1F正解 03/25 02:09
7F:→ uqljnro:先读到两个阵列,再将这两个阵列做比较不就ok啦 03/25 02:10