Вопрос задан 16.05.2019 в 15:54. Предмет Информатика. Спрашивает Иванкова Маша.

помогите срочнооо) pascal abc1. Развернуть обе половинки массива в обратном порядке. Считая, что

массив имеет четное число элементов.ПоясненияИз массива (1, 2, 3, 4, 5, 6, 7, 8) нужно получить массив (4, 3, 2, 1, 8, 7, 6, 5).2. Сдвинуть все элементы массива на одну позицию влево (циклически). Первый элемент должен оказаться на месте последнего.3. Сдвинуть все элементы массива на одну позицию вправо (циклически). Последний элемент должен оказаться на месте первого.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Рогачков Макс.

Во всех программах у меня будет использоваться процедура swap:

 

procedure swap(a: ^real; b: ^real);
var
   t: real;
begin
   t := a^;
   a^ := b^;
   b^ := t;
end;

 

swap(x,y) - меняет местами значения x и y.

 

1.

var
   A: array[1..100] of real;
   i, j, N: integer;

begin

   readln(N);
   for i := 1 to N do
      read(A[i]);
   for j := 1 to (N div 2) - 1 do
      for i := 1 to (N div 2) - j do
         swap(A[i], A[i + 1]);
   for j := 1 to (N div 2) - 1 do
      for i := (N div 2) + 1 to N - j do
         swap(A[i], A[i + 1]);
   for i := 1 to N do
      writeln(A[i])
end.

 

2.

var
   A: array[1..100] of real;
   i, N: integer;

begin

   readln(N);
   for i := 1 to N do
      read(A[i]);
   for i := 1 to N - 1 do
      swap(A[i], A[i + 1]);
   for i := 1 to N do
      writeln(A[i])
end.

 

3.

var

   A: array[1..100] of real;
   i, N: integer;

begin

   readln(N);
   for i := 1 to N do
      read(A[i]);
   for i := N downto 2 do
      swap(A[i], A[i - 1]);
   for i := 1 to N do
      writeln(A[i])
end.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос