Текст программы сортировки слиянием

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 записей каждый. Разработать программу сортировки файлов слиянием. Результат сортировки записать в текстовый файл.

ЛИТЕРАТУРА

  1. Игошина Л.В. Методическое пособиепо курсу "Алгоритмические языки и программирование". - Пенза: ПГТУ, 1999г.
  2. Могилев Л.В. и др. Практикум по информатике. - М.: «Академия», 2005г.
  3. Иллюстрированный самоучитель по Turbo Pascal. – http://pascal.sources.ru/

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: