uses crt;
var
a:array[1..20]of integer;
i,n,m,temp1,temp2:integer;
begin clrscr;
randomize;
for i:=1 to 20 do
begin
a[i]:=random(21);
write(a[i],' ');
end;
writeln;
write('n=');
read(n);
write('m=');
read(m);
if (n>20)or(m>20) then writeln('znachenie prevyshaet 20!')
else
begin
for i:=1 to 20 do
begin
temp1:=a[n];
temp2:=a[m];
end;
for i:=1 to 20 do
begin
if (i<>n)and(i<>m) then a[i]:=a[i]
else
begin
a[n]:=temp2;
a[m]:=temp1;
end;
write(a[i],' ');
end;
end;
readkey;
end.
Следующий вариант
uses crt;
var a:array[1..100] of integer;
m,n,k,i,l:integer;
begin
clrscr; randomize;
write('Vvedite razmer massiva: '); readln(k);
for i:=1 to k do a[i]:=random(100);
for i:=1 to k do write(a[i],' '); writeln;
write('Vvedite m: '); readln(m);
write('Vvedite n: '); readln(n);
l:=a[m]; a[m]:=a[n]; a[n]:=l;
for i:=1 to k do write(a[i],' ');
readln;
end.