Слияние чисел (2 уровень)

Условие:
Из цифр двух натуральных чисел составить наибольшее возможное число, сохраняя первоначальную последовательность цифр.


Технические условия:
Программа должна читать исходные числа из файла input.txt, и выводить полученое число в файл output.txt.

Примеры входного и выходного файлов:

Input.txt

Output.txt

20
4181

421810

111
222

222111

97531
86420

9876543210

 


Решение:

Идея решения. Можно прочитать числа из файла как текстовые переменные, а затем посимвольно переводить изображения цифр в цифры, и составлять наибольшее число.

var
a,b,c:String;
F:text;
i,x,y,code:integer;
begin
assign(f,'input.txt');
reset(f);
readln(f,A);
readln(F,B);
close(f);
while (a<>'') and (b<>'') do begin
val(a[1],x,code);
val(b[1],y,code);
if x>y then begin
c:=c+a[1];delete(a,1,1);end else begin
c:=c+b[1];delete(b,1,1);end;end;
c:=c+a+b;
assign(f,'output.txt');
rewrite(f);
writeln(f,c);
close(f);
end.