Pascal -
напишите самую оптимальную программу, которая выполняет циклический сдвиг части массива, начиная с элемента с номером k и заканчивая элементом с номером m (включительно), вправо на r элементов.
входные данные:
первая строка содержит размер массива n . во второй строке через пробел n чисел – элементы массива. гарантируется, что 0 < n ≤ 1 . в третьей строке через пробел записаны два числа – k ( 0 < k ≤ n ) и m ( k ≤ m ≤ n ). в четвертой строке записана величина сдвига r ( 0 ≤ r ≤ n ).
выходные данные:
программа должна вывести в одну строчку все элементы получившегося массива, разделив их пробелами.
примеры:
входные данные:
6
1 2 3 4 5 6
2 5
2
выходные данные:
1 4 5 2 3 6
type Vector = array [1..N] of integer;
var B: vector;
max :integer;
procedure IntVector(N: integer; var a: vector);
begin
for var i := 1 to N do a[i] := random(100);
end;
procedure OutVector(N: integer; a: vector);
begin for var i := 1 to N do
begin write(a[i]:5);
end;
end;
procedure Srav (a:vector; N,g:integer);
begin
g := a[1];
for var i:=1 to N do
if (g < a[i]) then g:=a[i];
writeln (g);
end;
Begin
IntVector(N, B);
writeln;
OutVector(N, B );
writeln;
Srav(B,N, max);
writeln;
End.
2. const N = 10;
type Vector = array [1..N] of integer;
var B: vector;
r,v : real;
procedure IntVector(N: integer; var a: vector);
begin
for var i := 1 to N do
a[i] := random(20);
end;
procedure OutVector(N: integer; a: vector);
begin
for var i := 1 to N do
begin
write(a[i]:5);
end;
end;
function srednee(a: vector; N: integer): real;
begin
for var i := 1 to N do begin result := (result + a[i]);
end;
end;
function kolvo(a: vector; g: real): real;
begin
for var i := 1 to N do
if (a[i] < (srednee(a, N)/10)) then result := result + 1;
end;
begin
IntVector(N, B); writeln;
OutVector(N, B );
writeln;
writeln ((srednee(B, N)/10):5:3); r := kolvo(B, v);
writeln(r);
end.
n,k,i:integer;
begin
for n:=1 to 2 do
begin
writeln('Введите строку ',n,':');
readln(s);
k:=0;
for i:=1 to length(s) do
begin
case s[i] of
'[': k:=k+1;
']': k:=k-1;
end;
end;
if k=0
then writeln('В строке ',s,' количество [ и ] одинаково')
else writeln('В строке ',s,' количество [ и ] не одинаково');
end;
end.
Пример:
Введите строку 1:
c:=a[imax,j]; a[imax,j]:=a[imin,j]; a[imin,j]:=c
В строке c:=a[imax,j]; a[imax,j]:=a[imin,j]; a[imin,j]:=c количество [ и ] одинаково
Введите строку 2:
Просто [ пример ]] со [[ скобками
В строке Просто [ пример ]] со [[ скобками количество [ и ] не одинаково