Циклический сдвиг массива паскаль

������

�������� �������, ������� ���������� �������� ���������� ������ ������ ��� ����� �� ��������� ����� �������. ����� ����� ������ ���� ���������, �� ���� �� ��������, ������� ������ ������ ��� ����� �� ������� �������, ������ ���������� � ������� ��� �����.

��������, ��� ������:
1 2 3 4 5 6
��������� ����� ������ �� 2 �������:
5 6 1 2 3 4

�������

  • a, m – ������ (m – � �������);
  • q, p – ���������� ��������� ������� (p – � �������);
  • b – ���������� ��� �������� ������� ��� ���������� �������� �������.

�������� ������� ������:

���� ���������� p ����� ��������� ������������� ��������, �� ����� ����� ����� ����������� �����. ���� �������������, �� ������.

���������� �������� ���������� p – ��� ���������� ����� ������. ���� �� ���� �������� �������� ����� ����������� ����� �� ���� ���, �� �������� p ���������� ���������� �������� �������� �����.

����� ���� �������� ������ ���� �������� �����:

���� ����� ���������� �����, �� �� ����� ������� �������� ���������� ������, �� ����� ������� – ������ � ��� �����. ��� ��������� ������ �� ����� ���������� ������ ����� ������. ��� ��� �� ����� ���������� �������� ������������ ��������� �� ���, �� ������ ������� ��������. ������� ��� ���� ��������� �������� �� ���������� ����������� �����. ���������� ���� ����������� �� �������������� �������� ������������. �� ������������� �������� �� ��� ����� ������������ ���������. ����� ����������� ����� �� ����� ���������� �������� ������������ ����� ����������� ������ �������.

���� �� ����� ���������� ������, �� ������ ������� ����� �� ����� �������, ������ ��������� �� ����� �������� � �. �. � ������ ������, ����� �� �������� ��������, ����� �������� � �����. �� ����� ���������� �������� �������������, ����� �� ����� �������������� – ��� ��� ����� ��� � �.�. � ����� ������ ���������� ������ ��������� �������, ��� ������� ��������� �� ���������� ����������� �����. ���� ����� ����������� �� ���������� �������� �� �������. �� ��������� �������� ����������� ����� �� ����� ������� �������� ��������� ������ �������. ����� ����� ������� �� ����� ������� �������� �������� ����� ����������� ���������.

�������� �������� ������� � ��������� ����������� (����� ��� ������) � �� ��������� ����� �����. �������������� ������ ��������� ������. �������� ������ ����� ������� ����.

���� ������ ���������� �� ���� ��� �����, �� �� ����� �������� � �������� i ������������ ��� �������, ������� ��������� �� ����� i+1. �� ���� �� ����� �������� �������� ������������ ��������� �� ���. � ��������� ������ ������� ���������� ������. �� ������� ������ ���� ������� �������� ����� 0.

����� �������, ����� ������� �� ���� ��� ����� – ��� ���� �� ������� �������� �� �������������� ������������, � ���� �������� ���������� ������ �������� �� ��������� ������ � ������� ������ ( arr[i] := arr[i+1] ). � ������������� ������ ������������ ��������� �������. ����� ����� ������������� 0 � ��������� ������ �������.

���� ������ ���������� �� ���� ��� ������, �� ��� ������� "����������" � �����. �� ����� �������� i ������������� ������� ����� ��� (i-1). � �������������� ������ ������ ������������ ����.

����� ������� �� ���� ��� ������ – ��� ���� �� ���������� �������� �� ������� ������������, � ���� �������� ���������� ������ �������� �� ���������� ������ � ������� ( arr[i] := arr[i-1] ). ����� ����� � ������ ������ ������� ������������ ����.

���������� ����� ������ ������������ ������� ������.

�������� ������� ������ ������ ����� ������� ���:

  1. ��������� � ������������ ���������� ����� ������ � �����������. ����������, ��� ���� �������� ������������� �����, �� ����� ����������� ����� �� ��������� ���������� ��������, ���� �������� ������������� �����, �� ����� ������.
  2. ��������� �������� ������ � ������� ��� �� �����.
  3. ��������� ������� ���� ������� ���, ������� ����� ���� �������.
  1. ���� ���� ������� ������������� �����, �� ��������� ���� �� ������� �������� �� ��������������, ����������� � ��� �������� ������ ��������� ������ �� �������� �����������. �������� � ��������� ������ 0.
  2. �����, ��������� ���� �� ���������� �������� �� �������, ��������� � ������ ������� ������ �������� ����������. � ������ ������ �������� 0.
  3. ������� �� ����� ������� ������.

���������� ������� ���������� ������ (����� �������� �� ������� ������� ������� ������������ � ������ ��� �������) ����� �����.

категории

  • C/C++ 64
  • Delphi/Pascal 1085
  • Java 42
  • Basic 786
  • Assembler 13
  • .NET 95
  • JavaScript 9
  • Perl 22
  • PHP 101
  • Ruby 2
  • Python 18
  • HTML/CSS 5
  • SQL 1
  • О программировании 1

Сдвиг влево на k элементов:

Сдвиг на k элементов вправо:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *