Дан массив А, состоящий из n натуральных чисел. Упорядочите элементы массива методом простых вставок — Pascal(Паскаль)

Модуль

unit Sort;
interface
uses crt;
const max=100;
type mas=array [1..max] of integer;
procedure Vvod(var x:mas;var n:integer);
procedure Vyvod(var x:mas;n:integer);
procedure InsertSort(var x:mas;n:integer);
implementation
procedure Vvod;
var i:integer;
begin
repeat
write('Размер массива от 2 до 100: ');
readln(n);
until n in [2..100];
writeln('Введите ',n,' элементов массива:');
for i:=1 to n do
 begin
  write('el[',i,']=');
  readln(x[i]);
 end;
clrscr;
end;
procedure Vyvod;
var i:integer;
begin
for i:=1 to n do
write(x[i],' ');
writeln;
writeln;
end;
procedure InsertSort;
var i, j, buf:integer;
begin
for i:=2 to N do
 begin
  buf:=x[i];
  j:=i-1;
  while (j>=1) and (x[j]>buf) do
  {это по возрастанию, по убыванию (x[j]<buf)}
   begin
    x[j+1]:=x[j];
    j:=j-1;
   end;
  x[j+1]:=buf;
 end;
end;
end.

Программа

uses crt,Sort;
var a:mas;
    n:integer;
begin
clrscr;
Vvod(a,n);
writeln('Исходный массив:');
Vyvod(a,n);
InsertSort(a,n);
writeln('Результат:');
Vyvod(a,n);
readln
end.

Leave a Comment

+ 70 = 73