Курсовая работа: Работа с двумерными числовыми массивами

Циклический сдвиг строк

Далее функция CircuarShift , осуществляющая циклический сдвиг строк матрицы вверх, или вниз. Направление сдвига определяется булевым параметром shiftUp, передаваемым процедуре:

1 {

2 осуществляет циклический сдвиг строк матрицы arr вверх при shiftUp = true,

3 и вниз, при shiftUp = false

4 }

5 procedure CircuarShift(var arr: TMatrix; shiftUp: boolean);

6 var

7 RowN: integer;

8 tmpRow: TVector;//временная переменная для хранения строки иатрицы

9

10 begin

11

12 if high(arr) < 1 then exit;//если в матрице меньше двух строк - выходим

13 if shiftUp then

14 begin//если сдвиг вверх

15 tmpRow:= arr[high(arr)];//сохраним последнюю строку матрицы

16 arr[high(arr)]:= arr[0];//приравняем последнюю строку первой

17 for rowN:= 0 to high(arr)-2 do

18 begin//для строк с нулевой по пред-предпоследнюю

19 arr[rowN]:= arr[rowN+1];//текущая строка равна нижней

20 end;

21 arr[high(arr)-1]:= tmpRow;//предпоследнюю строку приравняем последней

22 end

23 else

24 begin//иначе, если сдвиг вниз

25 tmpRow:= arr[0];//сохраним нулвую строку

26 arr[0]:= arr[high(arr)];//приравняем нулевую строку последней

27 for rowN:= high(arr) downto 2 do

К-во Просмотров: 521
Бесплатно скачать Курсовая работа: Работа с двумерными числовыми массивами