const n=10;
var a:array [1..n] of integer;
i,j,v:integer;
begin
write(' Исходный массив: ');
for i:=1 to n do
a[i]:=random(20);
write(a[i]:4)
end;
writeln;
for j:=1 to n-i do
if (a[j]<a[j+1]) and ((a[j]>9) or (a[j+1]>9)) then
v:=a[j];
a[j]:=a[j+1];
a[j+1]:=v
if (a[j]>a[j+1]) and ((a[j]<=9) or (a[j+1]<=9)) then
write('Отсортированный массив: ');
for i:=1 to n do write(a[i]:4);
end.
Объяснение:
Сначала сортируем числа больше 9, потом числа меньше 10.
Код программы:
var a:array[1..27] of integer;
b, i, c, ind:integer;
a[1]:= 72;
a[2]:= 76;
a[3]:= 92;
a[4]:= 45;
a[5]:= 55;
a[6]:= 82;
a[7]:= 46;
a[8]:= 39;
a[9]:= 78;
a[10]:=50;
a[11]:=34;
a[12]:=71;
a[13]:=44;
a[14]:= 92;
a[15]:= 38;
a[16]:= 51;
a[17]:= 6;
a[18]:= 45;
a[19]:= 66;
a[20]:= 78;
a[21]:= 19;
a[22]:= 17;
a[23]:= 42;
a[24]:= 36;
a[25]:= 34;
a[26]:= 91;
a[27]:= 61;
writeln('Введите число');
readln(b);
if ((b >= 0) and (b <= 100)) then begin
c:=abs(b - a[1]);
for i:=2 to 27 do begin
if(abs(b - a[i]) <=c) then begin
c:=abs(b - a[i]);
ind:=i;
writeln('Результат: ', a[ind]);
end
else
writeln('Ошибка, число должно быть больше 0 и меньше 100');
const n=10;
var a:array [1..n] of integer;
i,j,v:integer;
begin
write(' Исходный массив: ');
for i:=1 to n do
begin
a[i]:=random(20);
write(a[i]:4)
end;
writeln;
for i:=1 to n do
for j:=1 to n-i do
if (a[j]<a[j+1]) and ((a[j]>9) or (a[j+1]>9)) then
begin
v:=a[j];
a[j]:=a[j+1];
a[j+1]:=v
end;
for i:=1 to n do
for j:=1 to n-i do
if (a[j]>a[j+1]) and ((a[j]<=9) or (a[j+1]<=9)) then
begin
v:=a[j];
a[j]:=a[j+1];
a[j+1]:=v
end;
write('Отсортированный массив: ');
for i:=1 to n do write(a[i]:4);
end.
Объяснение:
Сначала сортируем числа больше 9, потом числа меньше 10.
Код программы:
var a:array[1..27] of integer;
b, i, c, ind:integer;
begin
a[1]:= 72;
a[2]:= 76;
a[3]:= 92;
a[4]:= 45;
a[5]:= 55;
a[6]:= 82;
a[7]:= 46;
a[8]:= 39;
a[9]:= 78;
a[10]:=50;
a[11]:=34;
a[12]:=71;
a[13]:=44;
a[14]:= 92;
a[15]:= 38;
a[16]:= 51;
a[17]:= 6;
a[18]:= 45;
a[19]:= 66;
a[20]:= 78;
a[21]:= 19;
a[22]:= 17;
a[23]:= 42;
a[24]:= 36;
a[25]:= 34;
a[26]:= 91;
a[27]:= 61;
writeln('Введите число');
readln(b);
if ((b >= 0) and (b <= 100)) then begin
c:=abs(b - a[1]);
for i:=2 to 27 do begin
if(abs(b - a[i]) <=c) then begin
c:=abs(b - a[i]);
ind:=i;
end;
end;
writeln('Результат: ', a[ind]);
end
else
writeln('Ошибка, число должно быть больше 0 и меньше 100');
end.