const nn=100; // максимальное количество элементов в массиве
type Mas=array[1..nn] of integer;
procedure SortShell(n:integer; var a:Mas); var i,d,t:integer; k:boolean; begin d:=n div 2; // начальный шаг сортировки while d>0 do begin k:=true; while k do begin k:=false; for i:=1 to n-d do begin if(a[i]>a[i+d]) then begin t:=a[i]; a[i]:=a[i+d]; a[i+d]:=t; k:=true end end end; d:=d div 2 end end;
var i,n:integer; v:Mas;
begin Write('n='); Read(n); Writeln('Вводите элементы массива'); for i:=1 to n do Read(v[i]); SortShell(n,v); for i:=1 to n do Write(v[i],' '); Writeln end.
128 мм / 10 мм в см = 12,8 см 256 мм / 10 мм в см = 25,6 см
12.8 см / 2.5 см * 600 dpi = 3072 пикс ширина 25.6 см / 2.5 см * 600 dpi = 6144 пикс высота
А4 = 210х297 мм в книжном, в книжном и даны 128х256 мм. печать в основном программами растягивается, поетому лубой размер выше а4 сожмётся и как никрути постоянно влезать в 1 лист будет, а 4 штуки это его копии получатся. Это на практике, а в решении задач по информатике не знаю, но для этой задачи это не грозит, т.к. тут вмещается.
const
nn=100; // максимальное количество элементов в массиве
type
Mas=array[1..nn] of integer;
procedure SortShell(n:integer; var a:Mas);
var
i,d,t:integer;
k:boolean;
begin
d:=n div 2; // начальный шаг сортировки
while d>0 do begin
k:=true;
while k do begin
k:=false;
for i:=1 to n-d do begin
if(a[i]>a[i+d]) then begin
t:=a[i]; a[i]:=a[i+d]; a[i+d]:=t;
k:=true
end
end
end;
d:=d div 2
end
end;
var
i,n:integer;
v:Mas;
begin
Write('n='); Read(n);
Writeln('Вводите элементы массива');
for i:=1 to n do Read(v[i]);
SortShell(n,v);
for i:=1 to n do Write(v[i],' ');
Writeln
end.
Пример
n=15
Вводите элементы массива
-10 -7 4 -12 -26 4 34 -29 7 -28 13 -10 44 0 -46
-46 -29 -28 -26 -12 -10 -10 -7 0 4 4 7 13 34 44