В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Alyonaa201202
Alyonaa201202
28.05.2020 17:24 •  Информатика

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

Показать ответ
Ответ:
LINKAyO
LINKAyO
16.05.2023 07:25
1.const  N=10;
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.
0,0(0 оценок)
Ответ:
Виолетик5
Виолетик5
13.07.2020 16:55
Var s:string;
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:
Просто [ пример ]] со [[ скобками
В строке Просто [ пример ]] со [[ скобками количество [ и ] не одинаково
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота