Const n = 10; var a:array[1..n]of integer; i,k,temp:integer;
begin for i:=1 to n do a[i]:=random(21) - 10; repeat writeln('Введите k (k<>1 и k<>10)'); readln(k); if (k=1) or (k=n) then writeln('Ошибка, повторите ввод'); until (k<>1) and (k<>n); for i:=1 to n do write(a[i]:4);writeln; temp:=a[k-1];a[k-1]:=a[k+1];a[k+1]:=temp; for i:=1 to n do write(a[i]:4); end.
Тестовое решение: Введите k (k<>1 и k<>10) 1 Ошибка, повторите ввод Введите k (k<>1 и k<>10) 5 7 -5 -6 6 -7 3 9 8 7 -6 7 -5 -6 3 -7 6 9 8 7 -6
const n=5;
var a:array[1..n] of integer;
i,min,k:integer;
begin
for i:=1 to n do begin
write('a[',i,']=');
read(a[i]);
end;
min:=a[1]; k:=1;
for i:=1 to n do
if (A[i] < min)
then begin
min:=A[i];
k:=i;
end;
for i:=1 to n do
if (a[i] < 0) and (a[i] > min)
then begin
min:=a[i];
k:=i;
end;
a[k]:=0;
for i:=1 to n do
write(a[i],' ');
end.