Дан одномерный массив из 20 элементов. Переставить первые три и последние три элемента, сохранив порядок их следования — Pascal(Паскаль)

uses crt;
var
a : array[1..20] of integer;
b : array[1..3] of integer;
c : array[1..3] of integer;
i: integer;
begin
clrscr;
randomize;
for i := 1 to 20 do
begin
a[i] := random(30);
write(a[i],' ');
end;
writeln;
writeln;
for i := 1 to 3 do
b[i] := a[i];
for i := 18 to 20 do
c[i-17] := a[i];
for i := 1 to 3 do
a[i] := c[i];
for i := 18 to 20 do
a[i] := b[i-17];
for i := 1 to 20 do
writeln(a[i]);
readln;
end.

Следующий вариант

uses crt;
var
a : array[1..20] of integer;
i: integer;
begin
clrscr;
randomize;
for i := 1 to 20 do
begin
a[i] := random(30);
write(a[i],' ');
end;
writeln;
writeln;

a[1]:=a[1]+a[n-2];
a[n-2]:=a[1]-a[n-2];
a[1]:=a[1]-a[n-2];
a[2]:=a[2]+a[n-1];
a[n-1]:=a[2]-a[n-1];
a[2]:=a[2]-a[n-1];
a[3]:=a[3]+a[n];
a[n]:=a[3]-a[n];
a[3]:=a[3]-a[n];

for i := 1 to 20 do
writeln(a[i]);
readln;
end.

Leave a Comment

20 − 18 =