Курсовая работа: Работа с двумерными числовыми массивами
24 rightB:= high(arr[0]);
25 topB:= 0;
26
27 for cur:= 0 to count-1 do
28 begin//пока не пройдём count элементов
29 res[cur]:= arr[RowN, ColN];//добавляем текущий элемент в массив
30 //дальненйшие действия зависят от текущего направления обхода
31 case direction of
32 down://если вниз
33 if RowN < bottomB then inc(RowN)//если не дошли до нижней границы - сдвигаемся вниз
34 else
35 begin//иначе - прошли левый столбец
36 direction:= right;//сменим направление на "вправо"
37 inc(leftB);//сдвинем левую границу к центру
38 inc(ColN);//сдвинемся вправо
39 end;
40
41 right://если вправо
42 if ColN < rightB then inc(ColN)//если не дошли до правой границы - сдвигаемся вправо
43 else
44 begin//иначе - прошли нижнюю строку
45 direction:= up;//сменим направление на "вверх"
46 dec(bottomB);//сдвинем нижнюю границу к центру
47 dec(RowN);//сдвинемся вверх
48 end;
49
50 up://если вверх
51 if RowN > topB then dec(RowN)//если не дошли до верхней границы - сдвигаемся вверх
52 else