Конспект лекций по программированию для начинающих. Гладков В.П. - 178 стр.

UptoLike

Составители: 

180
4. Как будет выведен двумерный массив на экран при использовании
следующего фрагмента программы?
for i:=n downto 1 do
begin writeln;
for j:=m downto 1 do write(a[i,j],' ')
end.
5. Что изменится, если во внутреннем цикле предыдущего фрагмента заменить
оператор вывода на следующий: write(a[j,i],' ')?
Для двумерных массивов справедливы те же классы задач, что и для
одномерных, но схемы перебора организуются с помощью двух циклов. Для
решения задач
на двумерные массивы нужно знать некоторые соотношения для
индексов. Рассмотрим двумерный массив размерностью n·n для n=6. Здесь
количества строк и столбцов совпадают, поэтому такие массивы называются
квадратными.
a
11
a
12
a
13
a
14
a
15
a
16
a
21
a
22
a
23
a
24
a
25
a
26
a
31
a
32
a
33
a
34
a
35
a
36
a
41
a
42
a
43
a
44
a
45
a
46
a
51
a
52
a
53
a
54
a
55
a
56
a
61
a
62
a
63
a
64
a
65
a
66
Если мысленно провести прямую из левого верхнего угла массива в правый
нижний, то можно заметить, что все элементы, расположенные на этой линии,
будут иметь совпадающие индексы: a
11
, a
22
, a
33
, a
44
, a
55
, a
66
. Эту линию называют
главной диагональю двумерного массива. Если индекс строк обозначить i, а индекс
столбцов - j, то в общем случае факт принадлежности элемента главной диагонали
можно записать так: i=j, или так: i-j=0. Для индексов элементов, расположенных
ниже главной диагонали, справедливо соотношение i>j. Для индексов элементов,
расположенных выше главной диагонали, справедливо соотношение i<j.
Индексы элементов, расположенных на линиях, параллельных главной
диагонали, удовлетворяют
соотношениям |i-j|=k, где k - номер линии по
отношению к главной диагонали. Например, для индексов элементов a
31
a
42
a
53
a
64
,
расположенных на 2 линии ниже главной диагонали, справедливо i-j=2, а для
индексов элементов a
13
a
24
a
35
a
46
, расположенных на две линии выше главной
диагонали, справедливо i-j=-2.
Линию, соединяющую правый верхний угол массива с левым нижним,
называют
побочной диагональю. Для индексов элементов побочной диагонали: a
16
a
25
a
34
a
43
a
52
a
61
, справедливо соотношение i+j=n+1, где n - количество строк и
столбцов массива (в примере n=6). Для индексов элементов, расположенных выше
побочной диагонали, справедливо i+j<n+1, а для индексов элементов,
расположенных ниже побочной диагонали, справедливо i+j>n+1.
Индексы элементов, расположенных на линиях параллельных побочной
диагонали, удовлетворяют соотношению 2<=i+j<=2·n. Например, для индексов
элементов: a
14
a
23
a
32
a
41
, расположенных на 2 линии выше побочной диагонали,
справедливо соотношение i+j=5, а для индексов элементов a
36
a
45
a
54
a
63
,
расположенных на 2 линии ниже побочной диагонали, справедливо соотношение:
i+j=9.
                                      180

    4. Как будет выведен двумерный массив на экран при использовании
следующего фрагмента программы?
    for i:=n downto 1 do
    begin      writeln;
               for j:=m downto 1 do write(a[i,j],' ')
    end.
    5. Что изменится, если во внутреннем цикле предыдущего фрагмента заменить
оператор вывода на следующий: write(a[j,i],' ')?
    Для двумерных массивов справедливы те же классы задач, что и для
одномерных, но схемы перебора организуются с помощью двух циклов. Для
решения задач на двумерные массивы нужно знать некоторые соотношения для
индексов. Рассмотрим двумерный массив размерностью n·n для n=6. Здесь
количества строк и столбцов совпадают, поэтому такие массивы называются
квадратными.
     a11 a12 a13 a14 a15 a16
     a21 a22 a23 a24 a25 a26
     a31 a32 a33 a34 a35 a36
     a41 a42 a43 a44 a45 a46
     a51 a52 a53 a54 a55 a56
     a61 a62 a63 a64 a65 a66
    Если мысленно провести прямую из левого верхнего угла массива в правый
нижний, то можно заметить, что все элементы, расположенные на этой линии,
будут иметь совпадающие индексы: a11, a22, a33, a44, a55, a66. Эту линию называют
главной диагональю двумерного массива. Если индекс строк обозначить i, а индекс
столбцов - j, то в общем случае факт принадлежности элемента главной диагонали
можно записать так: i=j, или так: i-j=0. Для индексов элементов, расположенных
ниже главной диагонали, справедливо соотношение i>j. Для индексов элементов,
расположенных выше главной диагонали, справедливо соотношение in+1.
    Индексы элементов, расположенных на линиях параллельных побочной
диагонали, удовлетворяют соотношению 2<=i+j<=2·n. Например, для индексов
элементов: a14 a23 a32 a41, расположенных на 2 линии выше побочной диагонали,
справедливо соотношение i+j=5, а для индексов элементов a36 a45 a54 a63,
расположенных на 2 линии ниже побочной диагонали, справедливо соотношение:
i+j=9.