
Gửi bởi
khaimy123
Cho 2 tệp ORD1.INP và ORD2.INP mỗi dòng của tệp chứa 1 số số nguyên. Các số nguyên trong mỗi tệp đã được sắp thứ tự không giảm. Hãy lập trình hợp nhất 2 tệp này thành tệp văn bản ORD.INP mỗi dòng chứa một số nguyên sao cho thứ tự vẫn không giảm
Mai mốt cho thêm cái ví dụ cho chắc ăn chứ và còn phần giới hạn số lượng nữa [IMG]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAA l21bKAAAAA1BMVEXh5PJm+yKVAAAAAXRSTlMAQObYZgAAAApJR EFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=[/IMG], code theo : 1 dòng out tương ứng 1 dòng inp trong 2 tệp: =>đơn thuần là sắp xếp :|
Mã:
const
f1='ord1.inp';
f2='ord2.inp';
fo='ord.inp';
maxn=50000;
var
a:array[1..maxn] of integer;
n:word;
f,g,h:text;
procedure qsort;
procedure sort(d,c:word);
var
i,j,:word;t,mid:integer;
begin
i:=d;
j:=c;
mid:=a[(d+c) shr 1];
repeat
while a[i]<mid do inc(i);
while a[j]>mid do dec(j);
if i<=j then
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
inc(i);
dec(j);
end;
until i>j;
if i<c then sort(i,c);
if j>d then sort(d,j);
end;
begin
sort(1,n);
end;
procedure run;
var i:word;
begin
assign(f,f1);
reset(f);
assign(g,f2);
reset(g);
assign(h,fo);
rewrite(h);
while not eof(g) and not eof(f) do
begin
n:=0;
while not eoln(f) do
begin
inc(n);
read(f,a[n]);
end;
readln(f);
while not eoln(g) do
begin
inc(n);
read(g,a[n]);
end;
readln(g);
qsort;
for i:=1 to n do
write(h,a[i],' ');
writeln(h);
end;
close(f);
close(g);
close(h);
end;
BEGIN
run;
END.
Bạn đang tìm kiếm giải pháp vận chuyển và nâng hạ hàng hoá máy móc nặng cho dự án hay công việc của mình tại khu vực Mỹ Phước - Bình Dương? Chúng tôi tự hào giới thiệu dịch vụ cho thuê xe cẩu tại Mỹ...
Dịch vụ cho thuê xe cẩu tại Mỹ Phước từ 3 tấn 120 tấn