Циклический сдвиг влево на одну позицию элементов заданного одномерного массива - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Помогите плиз. Разработать процедуру , которая осуществляет циклический сдвиг влево на одну позицию элементов заданного одномерного массива целых чисел ( первый элемент становится последним) . Параметры процедуры - имя массива и количество элементов. На основе разработанной процедуры циклически сдвинуть влево на 3 элемента введен с клавиатуры массив целых чисел. Напечатать результат смещения.

Решение задачи: «Циклический сдвиг влево на одну позицию элементов заданного одномерного массива»

textual
Листинг программы
procedure shift(a : array of Integer);
begin
  for var i := 1 to a.Length-1 do
    Swap(a[i-1], a[i]);
end;
 
begin
  var a : array of Integer;
  SetLength(a, ReadLnInteger('Размер массива n='));
  for var i := 1 to a.Length do
    a[i-1] := ReadLnInteger('a[' + i.ToString + '] =');
  WriteLn('Исходный массив: a = ', a);
  shift(a);shift(a);shift(a);
  WriteLn('   Новый массив: a = ', a);
end.

Объяснение кода листинга программы

  1. Объявляется процедура с именем shift, которая принимает в качестве параметра одномерный массив a типа Integer.
  2. Внутри процедуры объявляется цикл for, который выполняется от i = 1 до a.Length-1.
  3. Внутри цикла происходит обмен значениями элементов массива a с помощью функции Swap.
  4. Значениями аргументов функции Swap являются a[i-1] и a[i].
  5. После выполнения цикла, процедура shift завершается.
  6. Объявляется переменная a типа array of Integer.
  7. С помощью функции SetLength устанавливается длина массива a равной значению, введенному пользователем.
  8. В цикле for происходит заполнение массива a значениями, которые вводит пользователь.
  9. Выводится сообщение исходного массива a.
  10. Три раза вызывается процедура shift, которая сдвигает элементы массива a влево на одну позицию.
  11. Выводится сообщение нового массива a.
  12. Код завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5
Похожие ответы