Uses crt;
Var { Описание массивов и переменных}
X, Y: array[1..1000] of integer;
Z: array[1..2000] of integer;
dx,dy,ix,iy,iz,i:integer;
Begin Clrscr; { Ввод данных}
Write(' Введите длину массива Х '); readln(dx);
Writeln(' Введите упорядоченный по возрастанию массив Х');
For i:=1 to dx do read(X[i]); readln;
Write(' Введите длину массива Y '); readln(dy);
Writeln(' Введите упорядоченный по возрастанию массив Y');
For i:=1 to dy do read(Y[i]); readln;
ix:=1; iy:=1; iz:=0;
While (ix<=dx) and (iy<=dy) do
if X[ix]<Y[iy] then
begin {Перезапись значения из массива Х в массив Z}
inc(iz); Z[iz]:=X[ix]; inc(ix);
end
else
begin {Перзапись значения из массива Y в массив Z}
inc(iz); Z[iz]:=Y[iy]; inc(iy);
end;
{ Один из массивов полностью переписан }
if ix>dx then { Переписан массив Х, дописываем все оставшееся из Y}
for i:=iy to dy do
begin
inc(iz); Z[iz]:=Y[i];
end
else { Переписан массив Y, дописываем все оставшееся из X }
for i:=ix to dx do
begin
inc(iz); Z[iz]:=X[i];
end;
{ Вывод результата слияния на экран}
writeln(' Полученный массив Z');
for i:=1 to iz do write(Z[i],' '); readln;
End.
Типовое задание
Используя программу, разработанную в ЛПР №16, создать два отсортированных файла по 5 записей каждый. Разработать программу сортировки файлов слиянием. Результат сортировки записать в текстовый файл.
|
|
ЛИТЕРАТУРА
- Игошина Л.В. Методическое пособиепо курсу "Алгоритмические языки и программирование". - Пенза: ПГТУ, 1999г.
- Могилев Л.В. и др. Практикум по информатике. - М.: «Академия», 2005г.
- Иллюстрированный самоучитель по Turbo Pascal. – http://pascal.sources.ru/