ВУЗ:
Составители:
Рубрика:
181
Пример 11.32. Сформировать двумерный массив n·n указанного вида для
произвольного n. Для n=4 формируемый массив имеет вид
1 0 0 0
2 1 0 0
3 2 1 0
4 3 2 1.
Решение. Заметим, что каждая строка начинается с элемента, значение которого
совпадает с номером строки. Затем оно уменьшается с ростом номера столбца. Все
элементы, лежащие выше главной диагонали, равны нулю. Отсюда легко
догадаться, что в теле циклов перебора повторяется оператор a[i,j]:=i-j+1. Для
перебора строк и столбцов используем вложенные циклы.
for i:=1 to n do
for j:=1 to n do
if i<=j
then a[i,j]:=i-j+1
else a[i,j]:=0.
Упражнение. Воспользовавшись формулой n-i+1, получите на основе
предыдущего решения массив вида
4 0 0 0
3 4 0 0
2 3 4 0
1 2 3 4.
Пример 11.33. Сформировать двумерный массив n·n указанного вида для
произвольного n. Для n=4 формируемый массив имеет вид
0 0 0 4
0 0 4 3
0 4 3 2
4 3 2 1.
Решение. Можно заметить, что все элементы, расположенные выше побочной
диагонали, равны нулю, а расположенные ниже связаны с индексами
соотношением 2·n-(i+j)+1. Соответствующий фрагмент программы имеет вид
for i:=1 to n do
for j:=1 to n do
if i+j>=n+1
then a[i,j]:=2*n-(i+j)+1
else a[i,j]:=0.
Упражнения:
1. Постройте фрагменты программ для формирования массивов:
1 2 3 4 1 2 3 4 1 2 3 4
0 1 2 3 2 3 4 0 2 3 4 1
0 0 1 2 3 4 0 0 3 4 1 2
0 0 0 1 4 0 0 0 4 1 2 3.
2. Придумайте аналогичные виды массивов и постройте для них программы.
Попробуйте сформулировать алгоритм решения таких задач.
Пример 11.34. Сформировать двумерный массив n·n указанного вида для
произвольного n. Для n=4 формируемый массив имеет вид
181 Пример 11.32. Сформировать двумерный массив n·n указанного вида для произвольного n. Для n=4 формируемый массив имеет вид 1000 2100 3210 4 3 2 1. Решение. Заметим, что каждая строка начинается с элемента, значение которого совпадает с номером строки. Затем оно уменьшается с ростом номера столбца. Все элементы, лежащие выше главной диагонали, равны нулю. Отсюда легко догадаться, что в теле циклов перебора повторяется оператор a[i,j]:=i-j+1. Для перебора строк и столбцов используем вложенные циклы. for i:=1 to n do for j:=1 to n do if i<=j then a[i,j]:=i-j+1 else a[i,j]:=0. Упражнение. Воспользовавшись формулой n-i+1, получите на основе предыдущего решения массив вида 4000 3400 2340 1 2 3 4. Пример 11.33. Сформировать двумерный массив n·n указанного вида для произвольного n. Для n=4 формируемый массив имеет вид 0004 0043 0432 4 3 2 1. Решение. Можно заметить, что все элементы, расположенные выше побочной диагонали, равны нулю, а расположенные ниже связаны с индексами соотношением 2·n-(i+j)+1. Соответствующий фрагмент программы имеет вид for i:=1 to n do for j:=1 to n do if i+j>=n+1 then a[i,j]:=2*n-(i+j)+1 else a[i,j]:=0. Упражнения: 1. Постройте фрагменты программ для формирования массивов: 1 2 3 4 1 2 3 4 1 2 3 4 0 1 2 3 2 3 4 0 2 3 4 1 0 0 1 2 3 4 0 0 3 4 1 2 0 0 0 1 4 0 0 0 4 1 2 3. 2. Придумайте аналогичные виды массивов и постройте для них программы. Попробуйте сформулировать алгоритм решения таких задач. Пример 11.34. Сформировать двумерный массив n·n указанного вида для произвольного n. Для n=4 формируемый массив имеет вид
Страницы
- « первая
- ‹ предыдущая
- …
- 177
- 178
- 179
- 180
- 181
- …
- следующая ›
- последняя »