ВУЗ:
Составители:
Рубрика:
179
В случае использования этой схемы перебора при n=3 и m=2, получаем
следующий порядок ввода элементов: a[1,1], a[1,2], a[2,1], a[2,2], a[3,1], a[3,2].
Такой порядок ввода элементов называется вводом по строкам. Для ввода по
столбцам поменяем местами индексы i и j в операторе ввода. Получаем ввод
элементов по столбцам: a[1,1], a[2,1], a[3,1], a[2,1], a[2,2], a[2,3], a[3,1], a[3,2], a[3,3].
for i:=1 to n do
for j:=1 to n do
read(a[j,i]).
Упражнения:
1. Приведите другие схемы перебора, осуществляющие ввод элементов
двумерного массива по столбцам.
2. Как будут вводиться элементы двумерного массива, если в программе будут
использованы следующие операторы:
a) for i:=n downto 1 do
for j:=m downto 1 do read(a[i,j]);
б) for i:=n downto 1 do
for j:=m downto 1 do read(a[j,i]) ;
в) for i:=1 to n do
for j:=m downto 1 do read(a[i,j]);
г) for i:=n downto 1 do
for j:=1 to m do read(a[i,j]).
Рассмотрим задачу печати элементов двумерного массива по строкам и
столбцам. Задача состоит в печати стольких строк, сколько их в двумерном
массиве
. Это реализуется арифметическим циклом по количеству строк в
двумерном массиве. В теле этого цикла выполняются следующие работы: переход
к следующей печатаемой строке и вывод элементов строки (их столько сколько
столбцов). Вывод элементов строки реализуется арифметическим циклом по
количеству столбцов. Соответствующий фрагмент программы приведен ниже:
for i:=1 to n do {перебираем строки}
begin writeln;
for j:=1 to m do write(a[i,j],' ') { перебираем столбцы, каждый
элемент
отделяем от другого пробелом }
end.
Упражнения:
1. Будут ли выдавать одинаковые результаты ранее рассмотренный фрагмент
вывода двумерного массива и фрагмент, приведенный ниже? Если «да», то в каких
случаях? Если «нет», то почему?
for i:=1 to n do
begin for j:=1 to m do write(a[i,j],' ');
writeln
end.
2. Можно ли вывести двумерный массив на печать, перебирая элементы по
столбцам и сохраняя вид массива?
3. Можно ли решить задачу из упражнения 2 при выводе элементов
на экран?
Какие дополнительные операторы, отсутствующие обычно в алгоритмических
языках, нужны для решения этой задачи?
179 В случае использования этой схемы перебора при n=3 и m=2, получаем следующий порядок ввода элементов: a[1,1], a[1,2], a[2,1], a[2,2], a[3,1], a[3,2]. Такой порядок ввода элементов называется вводом по строкам. Для ввода по столбцам поменяем местами индексы i и j в операторе ввода. Получаем ввод элементов по столбцам: a[1,1], a[2,1], a[3,1], a[2,1], a[2,2], a[2,3], a[3,1], a[3,2], a[3,3]. for i:=1 to n do for j:=1 to n do read(a[j,i]). Упражнения: 1. Приведите другие схемы перебора, осуществляющие ввод элементов двумерного массива по столбцам. 2. Как будут вводиться элементы двумерного массива, если в программе будут использованы следующие операторы: a) for i:=n downto 1 do for j:=m downto 1 do read(a[i,j]); б) for i:=n downto 1 do for j:=m downto 1 do read(a[j,i]) ; в) for i:=1 to n do for j:=m downto 1 do read(a[i,j]); г) for i:=n downto 1 do for j:=1 to m do read(a[i,j]). Рассмотрим задачу печати элементов двумерного массива по строкам и столбцам. Задача состоит в печати стольких строк, сколько их в двумерном массиве. Это реализуется арифметическим циклом по количеству строк в двумерном массиве. В теле этого цикла выполняются следующие работы: переход к следующей печатаемой строке и вывод элементов строки (их столько сколько столбцов). Вывод элементов строки реализуется арифметическим циклом по количеству столбцов. Соответствующий фрагмент программы приведен ниже: for i:=1 to n do {перебираем строки} begin writeln; for j:=1 to m do write(a[i,j],' ') { перебираем столбцы, каждый элемент отделяем от другого пробелом } end. Упражнения: 1. Будут ли выдавать одинаковые результаты ранее рассмотренный фрагмент вывода двумерного массива и фрагмент, приведенный ниже? Если «да», то в каких случаях? Если «нет», то почему? for i:=1 to n do begin for j:=1 to m do write(a[i,j],' '); writeln end. 2. Можно ли вывести двумерный массив на печать, перебирая элементы по столбцам и сохраняя вид массива? 3. Можно ли решить задачу из упражнения 2 при выводе элементов на экран? Какие дополнительные операторы, отсутствующие обычно в алгоритмических языках, нужны для решения этой задачи?
Страницы
- « первая
- ‹ предыдущая
- …
- 175
- 176
- 177
- 178
- 179
- …
- следующая ›
- последняя »