Дан массив. Поменять местами:m-й и n-й элементы — Pascal(Паскаль)

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.

Leave a Comment

12 − 9 =