var
arr: array of real;
n, null_elem, negative, positive, i: integer;
begin
randomize;
writeln('Введите размерность массива: ');
readln(n);
arr:=new real[n];
null_elem := 0;
negative := 0;
positive := 0;
writeln('Сгенерированный массив: ');
for i := 0 to n-1 do
begin
arr[i] := random * 98 - 44;
if (arr[i] = 0) then inc(null_elem);
if (arr[i] < 0) then inc(negative);
if (arr[i] > 0) then inc(positive);
write(arr[i]:10:2);
end;
writeln(#10, #10, 'Нулевых элементов: ', null_elem, #10, 'Отрицательных элементов: ', negative, #10, 'Положительных элементов: ', positive);
end.
nn = 100;
var
n, l1, l2, r1, r2, i: integer;
a, b: array[1..nn] of integer;
F: Text;
begin
Assign(F, 'input.txt');
Reset(F);
Readln(F, n);
for i := 1 to n do Read(F, a[i]);
Readln(F, l1, r1);
Readln(F, l2, r2);
Close(F);
for i := 1 to l1 - 1 do b[i] := a[i];
for i := l1 to r1 do b[i] := a[l1 + r1 - i];
if l2 <= r1 then
begin
for i := l1 to r1 do a[i] := b[i];
for i := l2 to r2 do b[i] := a[l2 + r2 - i]
end
else
begin
for i := r1 + 1 to l2 - 1 do b[i] := a[i];
for i := l2 to r2 do b[i] := a[l2 + r2 - i];
end;
for i := r2 + 1 to n do b[i] := a[i];
for i := 1 to n do Write(b[i],' ');
end.
Результат решения:
5 8 3 6 0 14 -6 -2 4 1